簡體   English   中英

在 vimrc 中設置服務器名而不是命令行開關

[英]Setting servername in vimrc as opposed to command line switch

是否可以從我的 vimrc 設置 vim 的服務器名而不是使用--servername命令行開關? 如果我嘗試其中之一

set v:servername="TEX"
let v:servername="TEX"

我收到未知選項錯誤並且無法分別覆蓋只讀變量錯誤。

根據文檔( :help v:servername ), v:servername變量是只讀的。

根據源代碼, if_xcmdsrv.c serverRegisterName()從三個地方調用:

  • main()函數
  • X11主窗口初始化
  • GTK +主窗口初始化

因此,您的問題的答案是否定的,您不能在.vimrc或除命令行參數之外的任何其他地方設置服務器名稱。

對於一個足夠新的 vim 有函數remote_startserver

                    *remote_startserver()* *E941* *E942*
remote_startserver({name})
        Become the server {name}.  This fails if already running as a
        server, when |v:servername| is not empty.

        Can also be used as a |method|: >
            ServerName()->remote_startserver()

自 Vim 8.0.475 版起可用。 根據 VimTeX 文檔

所以你可以簡單地啟動沒有服務器名的 vim 並在 vimrc 中啟動一個。

注意:如果有多個運行的 Vim 實例,Vim 將自動更改服務器名稱(附加 1、2 等)以避免沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM