Vim-저장 \ 쓰기시 동작 \ 스크립트를 트리거 하시겠습니까?


14

이것은 수퍼 유저에게는 더 나을 수 있지만 거래 도구로 여기에서 더 좋은 주제가 될 수 있습니다. vim에서 편집 할 때 종료하고 테스트중인 스크립트를 실행 한 다음 vim으로 돌아갑니다 (예 : vim에서 물건을 실행하는 명령을 사용할 수 있음을 알고 있습니다). 파일을 저장할 때 실행할 것을 연결하는 방법 (: w)?

답변:



19

참조 :he :autocmd:he BufWritePost

라인은 다음과 같습니다.

:autocmd BufWritePost /path/to/file/or/pattern !command <afile>

는 IF <afile>것은 사용을 작동하지 않습니다 %:p.


1

"vim으로 돌아 가기"부분을 얻었지만 ": w"명령 자체를 누르는 방법을 잘 모르겠습니다 (매우 유용 할 것입니다).

w | silent execute "! myscript" | redraw!

수퍼 유저에게도 더 좋을 것 같습니다.


1

이것은 명백한 자체 프로모션이지만 특정 Vim autocmd이벤트 후에 특정 쉘 스크립트가 실행되도록 Vim 플러그인을 작성 했습니다. 예를 들어, 이름 .bufwritepost.vimhook.sh이 지정된 스크립트 는 BufWritePost명령이 실행될 때마다 (동기식으로) 실행 됩니다. 그런 다음 해당 스크립트 내에서 작업을 수행하기 위해 원하는 임의의 논리를 쉽게 포함 할 수 있습니다. 플러그인은 이러한 스크립트의 특정 명명 규칙을 가정하고 특정 이름과 일치하거나 특정 확장자를 가진 파일에서만 트리거하는 "후크"스크립트를 지원합니다. 물론 대부분의 유스 케이스에 맞는 autocmd것을 발견했지만 원하는 이벤트를 자유롭게 선택할 수 있습니다 BufWritePost.

자세한 내용 : https://github.com/ahw/vim-hooks

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.