Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以根据文件类型在.vimrc或其他地方指定vim servername?_Vim_File Type_Server Name - Fatal编程技术网

是否可以根据文件类型在.vimrc或其他地方指定vim servername?

是否可以根据文件类型在.vimrc或其他地方指定vim servername?,vim,file-type,server-name,Vim,File Type,Server Name,我得打字 gvim --servername xdvi toto.tex 启用从xdvi到latex的反向搜索 是否有办法将其封装在.vimrc中:当vim检测到.tex文件时,autocmd会将servername设置为vimrc?一旦vim启动,似乎为时已晚,还是 如果不在.vimrc中,在哪里 特殊的v:servername变量是只读的;您不能在Vim中更改它。如果需要某个服务器名,则必须在启动时通过--servername参数指定该服务器名 为了避免额外的键入,我建议使用特殊的shel

我得打字

gvim --servername xdvi toto.tex
启用从xdvi到latex的反向搜索

是否有办法将其封装在
.vimrc
中:当vim检测到.tex文件时,autocmd会将servername设置为vimrc?一旦vim启动,似乎为时已晚,还是


如果不在
.vimrc
中,在哪里

特殊的
v:servername
变量是只读的;您不能在Vim中更改它。如果需要某个服务器名,则必须在启动时通过
--servername
参数指定该服务器名

为了避免额外的键入,我建议使用特殊的shell别名(在Unix上)或小批量包装器(在Windows上)。根据这一点的重要性,您甚至可以添加一些脚本逻辑来检查
.tex
参数,然后设置服务器名


从Vim内部实现这一点的唯一方法是派生一个新的Vim实例(通过
system()
),传递所有参数和servername参数,然后通过
:quit
关闭原始Vim实例。但是这非常麻烦,而且实现起来也不那么简单。

xdvi
是您为Vim实例指定的名称。它与xdvi和/或latex和/或反向搜索有什么关系?因为.Xdefaults或.Xresources包含一行类似于xdvi.editor的内容:gvim--servername xdvi--remote+%l%f,它将xdvi指向正确的gvim实例。投票移动到Vim StackExchange。