Colors

向 neovim 發出信號以重新讀取其配置

  • May 14, 2019

我有一個腳本,可以在深色和淺色方案之間切換。我使用的終端仿真器(白蟻)在接收到信號 USR1 時會重新讀取其配置,因此當切換我的顏色方案時,我會將 USR1 發送到所有白蟻實例,以便立即更新顏色方案。

是否有可能說服 neovim 重新讀取其配置(從 neovim 外部)?

我真的找不到neovim 對unix 信號所做的列表。它也不需要是一個信號,據我所知,neovim 有一些“伺服器”和“前端”的概念,所以我想像連接到每個伺服器並發出重新載入配置之類的東西也可以工作。

可以通過遠端功能遠端控制 vim 。對於 neovim,我找到了neovim-remote,它可以輕鬆地向已經執行的 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. 如果您的配置位於不同的文件中,則應將其替換在那裡。如果載入了不同配置的不同 nvim(例如,通過-u <configfile>載入不同配置文件的標誌),此腳本將忽略它並命令每個實例載入相同的配置。我認為nvr --c 'so $MYVIMRC'應該工作,但它不適合我。

第一個--nostart可能是多餘的,但它不應該受到傷害。

引用自:https://unix.stackexchange.com/questions/517405