Monologo indekso » komputilo » tie ĉi
Kunigi Vim anstataŭ lanĉi plure
Ĵaŭdo 2011.11.24 19:45

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.

« reen
Japane indekso
inserted by FC2 system