Verwenden Sie die Client / Server-Funktion von vim / gvim.
gvim --remote-tab myfile
Dies funktioniert sowohl für Terminal- als auch für GUI-Versionen von vim, sofern sie vim --version
mit der +clientserver
Funktion kompiliert ( ) werden . (Optional hinzufügen, um den Instanznamen festzulegen, der standardmäßig festgelegt ist .)--servername foo
GVIM
Leider kann man das nicht von machen .vimrc
. Sie müssen entweder:
Schreiben Sie ein Wrapper-Skript, zum Beispiel
~/bin/gvim
:#!/bin/sh exec /usr/bin/gvim --remote-tab-silent "$@"
(
--remote-tab-silent
bewirkt, dass ein neuer Server bei Bedarf automatisch gestartet wird)Ändern Sie die Datei gvim.desktop so, dass sie die Serverbefehle enthält:
$ mkdir -p ~/.local/share/applications $ cp {/usr,~/.local}/share/applications/gvim.desktop $ vim -e ~/.local/share/applications/gvim.desktop :/^Exec=/ s/gvim/& --remote-tab-silent/ :wq $
Die Wrapper-Skriptmethode behandelt wahrscheinlich mehr Fälle als das Bearbeiten der .desktop-Datei.