如何配置vim,以便在我向进程发送USR1信号时保存并退出(与创建.swp恢复文件相反)

Phi*_*rom 13 unix vim

这是我的情况.我打开了一堆vim进程.而不是一个接一个地保存/相当(:x!)我想向所有进程发送一个信号 - 比如USR1 - 而不是让它创建一个恢复.swp文件,我希望它保存文件并正常退出.

可能?

Bil*_*dom 13

它并不像发送每个vim进程信号那么简单,但是你可以使用vim的客户端/服务器功能非常接近你想要的东西:

:help remote.txt
Run Code Online (Sandbox Code Playgroud)

(你需要一个用+ clientserver选项编译的vim版本.)

这是vim帮助的一个例子:

vim --servername BLA --remote-send '<C-\><C-N>:wqa<CR>'    
Run Code Online (Sandbox Code Playgroud)

这将命令发送到作为远程服务器"BLA"运行的vim实例,告诉它保存所有文件并退出.

由于您正在运行多个vim实例,因此您可能希望使用--serverlist选项获取所有已注册服务器实例的列表,然后您可以迭代这些实例以向每个实例发送save-and-exit命令.

  • 我试过一次,它似乎需要一个正在运行的 XServer - 这是真的还是我错过了什么? (2认同)