是否可以从我的vimrc中设置Vim的服务器名,而不是使用--servername命令行开关?
--servername
set v:servername="TEX" let v:servername="TEX"
字符串我得到未知的选项错误和无法覆盖只读变量错误分别。
disho6za1#
对于一个足够新的Vim,有一个函数remote_startserver。
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()
字符串根据VimTeX文档,自Vim版本8.0.475起可用所以你可以简单地启动Vim而不用servername,然后在vimrc中启动一个。
注意:如果有多个Vim示例在运行,Vim会自动更改servername(追加1、2等),以避免冲突。
gywdnpxw2#
2023年更新
正如@user202729在他的回答中所指出的(给予他的信任),从8.0.0475 patch(2017年3月18日)开始,可以通过用--servername=启动Vim(默认情况下会生成一些唯一的名称),然后在vimrc中使用call remote_startserver('TEX')来实现。
--servername=
vimrc
call remote_startserver('TEX')
2012年的原始(过时)答案
根据文档(:help v:servername),v:servername变量是只读的。根据源代码,if_xcmdsrv.c中的serverRegisterName()从三个地方调用:
:help v:servername
v:servername
if_xcmdsrv.c
serverRegisterName()
main()
所以你的问题的答案是否定的,你不能在你的.vimrc或其他任何地方设置服务器名称,除了命令行参数。
.vimrc
2条答案
按热度按时间disho6za1#
对于一个足够新的Vim,有一个函数
remote_startserver
。字符串
根据VimTeX文档,自Vim版本8.0.475起可用
所以你可以简单地启动Vim而不用servername,然后在vimrc中启动一个。
注意:如果有多个Vim示例在运行,Vim会自动更改servername(追加1、2等),以避免冲突。
gywdnpxw2#
2023年更新
正如@user202729在他的回答中所指出的(给予他的信任),从8.0.0475 patch(2017年3月18日)开始,可以通过用
--servername=
启动Vim(默认情况下会生成一些唯一的名称),然后在vimrc
中使用call remote_startserver('TEX')
来实现。2012年的原始(过时)答案
根据文档(
:help v:servername
),v:servername
变量是只读的。根据源代码,
if_xcmdsrv.c
中的serverRegisterName()
从三个地方调用:main()
函数所以你的问题的答案是否定的,你不能在你的
.vimrc
或其他任何地方设置服务器名称,除了命令行参数。