можно ли указать имя сервера vim в.vimrc, или где-то еще, в зависимости от типа файла?
Я должен ввести
gvim --servername xdvi toto.tex
Включить обратный поиск от xdvi к latex.
Есть ли способ инкапсулировать это в .vimrc
: когда vim обнаруживает .tex file, autocmd устанавливает имя сервера в vimrc ? Кажется, уже слишком поздно, как только vim будет запущен, или?
Если не в .vimrc
, то где ?
1 ответ:
Специальная переменная
v:servername
доступна только для чтения; вы не можете изменить ее в Vim. Если вам нужно определенное имя сервера, оно должно быть указано при запуске с помощью аргумента--servername
.Чтобы избежать дополнительного набора текста, я бы предложил специальный псевдоним оболочки (в Unix) или небольшую пакетную оболочку (в Windows). В зависимости от того, насколько это важно, вы можете даже добавить некоторую логику сценариев для проверки аргументов
.tex
, и только после этого задать имя сервера.Единственный способ достичь этого изнутри Vim будет разветвлять новый экземпляр Vim (через
system()
), передавая все аргументы плюс аргумент servername, а затем закрывая исходный экземпляр Vim через:quit
. Но это очень громоздко и не так просто реализовать.