inotifywait
을 사용하여 특정 폴더를 모니터링하고 필요한 경우 다시 컴파일하려고합니다. 문제는 내가 많이 정력을 사용하고 있다는 것입니다, 나는 정력에 편집있을 때 실제로 수정 된 모든 파일은 같은 일부 '중복'이벤트를 트리거 :vim에서 편집하는 동안 너무 많은 inotify 이벤트가 발생했습니다.
:w
sass/somefolder/ CREATE 4913
sass/somefolder/ CREATE some
sass/somefolder/ MODIFY some
그것은 실현하기 위해 좀 시간이 걸렸를 실제로 모든 것을 inotifywait
은 정상입니다. nano
을 사용하려고 시도했지만 모든 것이 예상대로 작동했지만 "수정"만 실행됩니다.
필자는 이클립스와 함께 이맥스에 문제가있다. (테스트 용으로 열심히 판단하지는 않는다.) Ctrl-X + Ctrl + S를 3 번씩 누른다. .
질문은 vim에서 불필요한 이벤트와 관련된 문제를 어떻게 해결할 수 있습니까?
그런데 .vimrc
에 directory
과 backupdir
이 모니터링되는 폴더에 없습니다.
UPD : This link explains 실제로 어떻게 일이 벌어지는가?하지만이 문제를 해결하는 방법은 아직 모릅니다. 음, 물론 내가 문자열이 포함 된 4913 무시할 수 있지만,이 경우에도)))
UPD를 SASS를 컴파일 할 inotify를 사용하려고 하나 너무 미봉책입니다 : VIM 버전하면 경우 7.3.429
이 답변에 감사드립니다. '-e close_write' 옵션은 분명히 더 좋지만, 여러 개의 수정으로 만 문제를 해결할 수 있지만 신비한'sass/somefolder/CLOSE_WRITE, CLOSE_WRITE, CLOSE_ 4913' 이벤트는 해결하지 않습니다. – shabunc
디렉토리의 이벤트를 무시할 수 있습니다 ...'inotifywait'가 경로를 출력 할 때까지 스크립트가 디렉토리인지 확인하고 ('[-d ...]'), 파일이 수정 된 경우에만 액션을 트리거 할 수 있습니다. – larsks
기본적으로 vim은 파일을 저장하면 새로운 파일을 만들고 그 파일에 쓰기 작업을 수행하며, 파일이 성공적으로 작성되면 vim은 이전 파일을 삭제하고 새 파일의 이름을 바꿉니다. 이것은 일부 가짜 이벤트의 원인 일 수 있습니다. 'set nowritebackup'을 사용하여 이것을 끌 수 있습니다. ': help backup-table'과 친구들을보십시오. –