我有一个脚本,可以在深色和浅色方案之间切换。我使用的终端模拟器(白蚁)在收到信号 USR1 时会重新读取其配置,因此当切换我的颜色方案时,我将 USR1 发送到所有白蚁实例,以便立即更新颜色方案。
是否有可能说服 neovim 重新读取其配置(从 neovim 外部)?
我实在找不到 neovim 对 UNIX 信号的定义列表。它也不需要是一个信号,据我了解 neovim 有一些“服务器”和“前端”的概念,所以我想连接到每个服务器并发出重新加载配置之类的东西也可以。
答案1
可以通过以下方式远程控制 vim远程功能。对于 neovim 我找到了neovim 远程这使得向已经运行的 nvim 进程发送命令变得很容易。以下代码片段迭代每个 nvim 进程(由 neovim-remote 发现)并发送命令来获取配置文件:
for path in $(nvr --nostart --serverlist)
do
nvr --nostart --servername $path -cc 'so ~/.config/nvim/init.vim'
done
这假设配置存在于~/.config/nvim/init.vim
.如果您的配置位于不同的文件中,则应将其替换。如果有不同的 nvims 加载了不同的配置(例如,通过-u <configfile>
加载不同配置文件的标志),此脚本将忽略该情况并命令每个实例加载相同的配置。我认为nvr --c 'so $MYVIMRC'
应该有效,但它不适合我。
第一个--nostart
可能是多余的,但应该不会有什么坏处。
答案2
我怀疑大多数解决方案这里还应该与neovim
.
由于您在 *nix 上,第一个尝试的可能是::so ~/.vimrc