Mi spertis tiel embaraso, kiel Vim ĉiufoje lanĉiĝas nove kiam mi malfermas dosieron.
Tial kun funkcioj de "server" mi faris, ke kiam malfermi dosieron, se Vim lanĉiĝis jam, la vim-skripto finigas novan kaj fermas la dosieron en nova tabo de jama lanĉita.
La servil-nomo (v:servername) estas implicite VIM se ĝi estas Vim, aŭ GVIM se ĝi estas gVim.
Se la servil-nomo esats duobla kun alia kiam Vim lanĉas nove, ĝi alnomiĝas kontinuan numeron post la nomo; kiel VIM1, VIM2...
Sekve ni povas, ke kiam Vim nomata VIM1 lanĉiĝis, ni finas ĝin kaj remalfermas ĝian dosieron per VIM.
if v:servername == 'VIM1' let file = expand('%:p') bwipeout call remote_send('VIM', '<ESC>:tabnew ' .file .'<CR>') call remote_foreground('VIM') quit endif
Por eviti duoblo de redaktata dosiero (alie la bufro estas almetata 'read only' (= nur legi) opcion) :bwipeout estas skribita en la 3a linio.
Vi rajtas operacii la varianton v:servername se vi volas instrukcii plie detale.