vimtex warning: Can't use callbacks with empty v:servername

Created on 23 May 2017  路  9Comments  路  Source: lervag/vimtex

Explain the issue

With the minimal working example provided below (default from the issue template) and the minimal vimrc provided below (default from the issue template, comments removed), I get the following warning when activating the compilation with "ll":

vimtex warning: Can't use callbacks with empty v:servername
Press ENTER to continue

I press ENTER, and then the compilation proceeds (although I don't see 'vimtex: success' message), and the pdf is opened.

Minimal working example

\documentclass{minimal}
\begin{document}

Hello World!

\end{document}

Minimal vimrc file

set nocompatible

" Load Vimtex
let &rtp  = '~/.vim/bundle/vimtex,' . &rtp
let &rtp .= ',~/.vim/bundle/vimtex/after'

filetype plugin indent on
syntax enable

All 9 comments

After reading the warning, you could follow up with :h v:servername, then follow into the x11-clientserver tag in the help files. This would explain that the v:servername variable is empty if you do not provide the --servername NAME option for Vim. gvim uses a default nonempty value, vim in terminal does not.

I've also explained this in :h vimtex-requirements after the part about latexmk.

If you are not interested in the callback feature (which requires the clientserver feature), then you can disable it (and thus avoid the warning) with e.g.

let g:vimtex_compiler_latexmk = {'callback' : 0}

What I don't get is why the error started showing up when I didn't change any setting, as far as I can tell. Anyway, thank you, I'll see if I can trace it back to some change I may have done.

It is because I added the message in a relatively recent commit. I think it makes sense to warn people about this, because if you use Vim in terminal and want to and expect to have the callback feature, then you need to set the servername. Most people, at least those new to Vim, won't realize this, and with no warning it can be confusing.

I see, I didn't realize you added the warning. Yes, I agree it makes sense. Thank you again.

No problem. Just to be clear, if I came across a little bit offensive in my
first comment, that was not intended. :-)

Am I doing this right?

$ vim paper.tex --servername NAME

I still get

vimtex: Can't use callbacks with empty v:servername
vimtex: Compiler started in continuous mode

What is the output of :VimtexInfo? I suspect that your vim version does not have the clientserver feature.

It says

   System info
     OS: Mac OS X 10.13.6 (17G2307)
     Vim version: VIM 8.1 (1-500)
     Has clientserver: true
     Servername: undefined (vim started without --servername)

which is odd, since I definitely started vim with the exact comando I wrote copied into my terminal. I also tried writing --servername NAME before the filename, but nothing changed.

Update: It appears that I needed to install XQuartz for clientserver to actually work. After installing that, everything works as intended. Thank you for a great tool.

I'm happy to hear you figured it out and that you enjoy the plugin :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dsevero picture dsevero  路  4Comments

thomasahle picture thomasahle  路  4Comments

nbanka picture nbanka  路  5Comments

sharethewisdom picture sharethewisdom  路  3Comments

andregpss picture andregpss  路  5Comments