2016-12-20 6 views
4

파일에 쓸 때 자동 포맷을 실행하도록 vim 설정을했지만 편집하기 전에 주기적으로 내 블랙리스트에 확장자를 추가하는 것을 잊어 버렸습니다. 이제 자동 포밍이 들여 쓰기를 망칠 정도로 편집을 저장할 수 없습니다. BufWrite 스크립트를 실행하지 않고 저장하는 방법이 있습니까?일시적으로 vim에서 BufWrite 스크립트를 사용하지 않음

내 vimrc에의 행은 다음과 같습니다

:noa[utocmd] w[rite] 

는 어떤 autocmds을 을 트리거하지 않고 저장 수행합니다

au BufWrite * if index(blacklist, &ft) < 0 | :Autoformat

답변

5

세 가지 옵션이 있습니다. autocmds를 사용하는 다른 사용자 정의/플러그인이 없으면 괜찮습니다.

:set eventignore=BufWrite | write | set eventignore= 

BufWrite 이벤트를 일시적으로 끕니다.

또는, 당신은 또한 당신의 autocmd 주위에 조건을 추가 할 수 있습니다 : 당신이 선택적으로 :let g:no_autoformat = 1를 통해 단지 특정 autocmd을 해제 할 수 있습니다 것

au BufWrite * if ! exists('g:no_autoformat') && index(blacklist, &ft) < 0 | :Autoformat 

합니다.

추 신 : :autocmd에는 | endif 마감이 없습니다.

+0

완벽한 덕분에! –