通过shell脚本退出或关闭vim

时间:2013-12-17 14:50:17

标签: linux vim

我正在编写一个脚本文件,我必须在其中关闭打开的vim文件。那么,我如何通过shell脚本关闭或退出文件?我试过这个solution,但没有运气。我试过这种方式:

vim path_to_file/abc +qa

1 个答案:

答案 0 :(得分:4)

要从外部shell脚本关闭现有的正在运行的Vim,您必须告诉Vim实例退出,或者让操作系统完成这项工作。

与Vim的沟通

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

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

通过操作系统

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

$ killall vim

要查找打开特定文件的Vim实例,可以使用lsof工具。由于Vim仅在:write上打开文件本身,因此我们必须搜索其(永久打开的)交换文件(即.file.swp而不是file):

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