通过shell脚本退出或closuresvim

我在写一个脚本文件,我必须closures打开的vim文件。 那么,如何通过shell脚本closures或退出文件呢? 我试过这个解决scheme ,但没有运气。 我已经这样试过了:

vim path_to_file/abc +qa 

为了关闭一个现有的,从外部shell脚本运行的Vim,你必须告诉Vim实例退出,或者让操作系统完成这个工作。

与Vim沟通

Vim内置了客户端 – 服务器功能,请参阅:help remote.txt 。 如果您知道服务器名称 (您可以使用vim --serverlist获取列表),则可以发送命令。 例如,这告诉名为GVIM的Vim实例退出:

 $ vim --servername GVIM --remote-send '<C-\><CN>:quitall!<CR>' 

通过操作系统

蛮力:杀死所有正在运行的Vim实例:-)

 $ killall vim 

要找到打开特定文件的Vim实例,可以使用lsof工具。 因为Vim只打开文件本身:write s,我们必须搜索它的(永久打开的) 交换文件 (即.file.swp而不是file ):

 $ kill `lsof -t /path/to/.file.swp`