我正在尝试inotifywait用于监视特定文件夹并在需要时重新编译.问题是我正在大量使用vim,当我在vim中编辑时,任何修改过的文件实际上会触发一些"冗余"事件,例如:
:w
sass/somefolder/ CREATE 4913
sass/somefolder/ CREATE some
sass/somefolder/ MODIFY some
Run Code Online (Sandbox Code Playgroud)
我花了一些时间才意识到实际上一切都还可以inotifywait- 我已经尝试使用nano,一切都按预期工作,只有"修改"被触发,只有一次.
我试过编辑(只是为了测试目的,不要用力判断我)Emacs以及Emacs也有问题 - 每次我按Ctrl-X + Ctrl + S MODIFY触发3次.
问题是如何解决vim中多余事件的问题?
顺便说一句,directory和backupdir我.vimrc都不是被监视的文件夹中.
UPD:这个链接解释了为什么事情会发生如何发生,但我仍然不知道如何解决这个问题.好吧,当然我可以忽略4913包含字符串,但即使对于试图使用inotify来编译SASS的人来说,这太过愚蠢)))
UPD:VIM版本是7.3.429
我希望每次"w"在vim中保存.h/.cpp文件时,vim会自动运行cpplint来检查我的格式,并在需要时更改文件.
如何用autocmd指定?
谢谢.
我想在Vim中保存文件时执行bash脚本.问题是我不知道怎么办,或者是否可以将完整路径传递给文件,而不仅仅是文件名或打开的相对路径.
这是我正在使用的代码,它可以工作,但只有相对路径,这对我来说是无用的.
autocmd BufWritePost * !~/.config/nvim/scripts/on_save.sh <afile>
Run Code Online (Sandbox Code Playgroud)
有没有办法将完整的文件路径传递给bash脚本?