是否可以从我的 vimrc 设置 vim 的服务器名而不是使用--servername
命令行开关?如果我尝试其中之一
set v:servername="TEX"
let v:servername="TEX"
我收到未知选项错误,无法分别覆盖只读变量错误。
是否可以从我的 vimrc 设置 vim 的服务器名而不是使用--servername
命令行开关?如果我尝试其中之一
set v:servername="TEX"
let v:servername="TEX"
我收到未知选项错误,无法分别覆盖只读变量错误。
根据文档 ( :help v:servername
),该v:servername
变量是只读的。
并根据源代码serverRegisterName()
从if_xcmdsrv.c
三个地方调用:
main()
功能所以你的问题的答案是否定的,除了命令行参数,你不能在你的.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 等)以避免冲突。