Website-Suche

Zugriff auf den Inhalt der Zwischenablage über mehrere Vim-Instanzen vom Terminal aus


Vim (Vi IMproved) ist einer der beliebtesten Texteditoren unter Programmierern. Es hat seine eigene Spezialität in der Ausführung verschiedener Operationen mit kurzen Handbefehlen.

Um beispielsweise den hervorgehobenen Text zu kopieren, verwenden wir den Befehl „y“ und „x“, um ihn auszuschneiden. Standardmäßig kann jedoch nicht auf den Inhalt der Zwischenablage von vim (und nicht von gVim) zugegriffen werden, nachdem vim-Instanzen geschlossen wurden.

Vim verwendet das „+“-Register, um auf die Systemzwischenablage zu verweisen. Sie können „vim –version“ ausführen und wenn Sie nichts wie „+xterm_clipboard“ und stattdessen „xterm_clipboard“ sehen, dann den Inhalt der internen Zwischenablage wird außerhalb von vim nicht verfügbar sein.

Installieren Sie Gvim und Parcellite

Um auf den Inhalt der Vim-Zwischenablage zugreifen zu können, müssen Sie das Paket gvim installieren. Das gVim ist ein GUI-Modus für den Vim-Editor, bei dem die Zwischenablageoption standardmäßig aktiviert ist.

yum install -y gvim

Aktivieren Sie als Nächstes das RPMForge-Repository, um das parcellite-Paket zu installieren. Der Parcellite ist ein leichter, kleiner und kostenloser Zwischenablage-Manager für Linux.

yum install -y parcellite

Führen Sie nach der Installation den folgenden Befehl aus. Dabei wird das Argument „&“ verwendet, um Parcellite zur Ausführung als Hintergrundprozess zu senden.

parcellite &

Überprüfen Sie, ob die Option in gvim aktiviert ist.

gvim --version

Stellen Sie sicher, dass die Option „+xterm_clipboard“ in der Ausgabe angezeigt wird, wie unten gezeigt.

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr  5 2012 10:12:08)
Included patches: 1-411
Modified by <[email >
Compiled by <[email >
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm 
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme +netbeans_intg -osfiletype +path_extra +perl +postscript 
+printer +profile +python +quickfix +reltime +rightleft -ruby +scrollbind 
+signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax 
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse 
+textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual 
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup 
+X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save

Öffnen Sie die .bashrc-Datei des Benutzers.

vim ~/.bashrc

Und fügen Sie den Alias hinzu und speichern Sie die Datei (drücken Sie „i“, um eine Zeile einzufügen, und drücken Sie ESC, dann führen Sie :wq zum Speichern und Beenden aus). .

.bashrc

User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vim='gvim -v'
Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

Bei diesem Alias handelt es sich um eine integrierte Funktion, mit der ein Befehl an einen anderen umgeleitet werden kann. Daher wird jedes Mal, wenn der Befehl vim ausgegeben wird, der entsprechende Alias an gvim gesendet, wobei die Zwischenablage standardmäßig aktiviert ist.

Bearbeiten Sie nun Ihre Datei „.vimrc“ auf ähnliche Weise (Falls Sie keine Datei .vimrc haben, erstellen Sie eine solche Datei und kehren Sie dann hierher zurück .

vim ~/.vimrc

Hängen Sie die folgende Zeile an und speichern Sie die Datei.

autocmd VimLeave * call system("echo -n $'" . escape(getreg(), "'") . "' | xsel -ib")

Öffnen Sie nun eine beliebige Datei in vim, markieren Sie den Textabschnitt (mit dem Befehl „v“) und drücken Sie „+y“. Versuchen Sie, irgendwo außerhalb von vim einzufügen (nach dem Schließen oder ohne das Schließen von vim), und schon sind Sie fertig.

Generieren einer .vimrc-Datei

Führen Sie den folgenden Befehl aus, um die Datei .vimrc zu generieren (überspringen Sie diesen Teil, wenn Sie bereits eine haben).

cd   [This will put you in home directory]       
vim .vimrc

Führen Sie in vim Folgendes aus, nachdem Sie die ESC-Taste gedrückt haben (in vim wird jeder Befehl ausgeführt, nachdem Sie die ESC-Taste gedrückt haben, wodurch Sie in den Befehlsmodus gelangen).

:r $VIMRUNTIME/vimrc_example.vim 
:w