Zougang zu Clipboard Inhalter iwwer Multiple Instanzen vu Vim vum Terminal


Vim (Vi IMproved) ass ee vun de beléifsten Text Editoren ënner Programméierer. Et huet seng eege Spezialitéiten fir verschidden Operatiounen mat kuerzen Handbefehl auszeféieren.

Zum Beispill, fir den markéierten Text ze kopéieren benotze mir de 'y' Kommando an 'x' fir datselwecht ze schneiden. Awer, par défaut vim (an net gVim) Clipboard Inhalter kënnen net zougänglech ginn nodeems d'Vim Instanzen zougemaach ginn.

Vim benotzt den '+' Register fir op de System Clipboard ze referenzéieren. Dir kënnt 'vim -version' lafen a wann Dir net eppes wéi +xterm_clipboard an amplaz xterm_clipboard gesinn, da wäert den internen Clipboard Inhalt net ausserhalb vum vim verfügbar sinn.

Fir Zougang zum vim Clipboard Inhalt ze kréien, musst Dir gvim Package installéieren. De gVim ass e GUI Modus fir vim Editor wou Clipboard Optioun als Standard aktivéiert ass.

# yum install -y gvim

Als nächst, aktivéiert RPMForge Repository fir Parcellite Package z'installéieren. De Parcellite ass e liicht, klengen a gratis Clipboard Manager fir Linux.

# yum install -y parcellite

Eemol installéiert, fuert de folgende Kommando. Wou Argument '&' gëtt benotzt fir Parcellite ze schécken fir als Hannergrondprozess ze lafen.

# parcellite &

Kuckt ob d'Optioun am gvim aktivéiert ass.

# gvim --version

Vergewëssert Iech datt Dir d'Optioun + xterm_clipboard an der Ausgab ugewisen hutt wéi hei ënnendrënner.

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 der .bashrc Datei vum Benotzer.

# vim ~/.bashrc

A füügt den Alias derbäi a späichert d'Datei (dréckt 'i' fir d'Linn anzeféieren an dréckt ESC, da lafen :wq fir ze späicheren an ze verloossen).

# .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

Dësen Alias ass en agebaute benotzt fir e Kommando an en aneren ze ëmgoen. Also all Kéier wann de vim Kommando ausgestallt gëtt, geet de entspriechende Alias op gvim mat Clipboard als Standard aktivéiert.

Ännert elo Är '.vimrc'-Datei op eng ähnlech Manéier (Am Fall, wann Dir keng .vimrc-Datei hutt, generéiert esou eng Datei duerch a gitt dann zréck hei.

# vim ~/.vimrc

Fügt déi folgend Linn un a späichert d'Datei.

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

Elo öffnen all Datei a vim an markéiert den Deel vum Text (mat 'v' Kommando) an dréckt \+y. Probéiert iergendwou ausserhalb vim ze pechen (nom Zoumaache oder ouni vim zoumaachen) an Dir sidd fäerdeg.

Fëllt de folgende Kommando aus fir .vimrc Datei ze generéieren (dësen Deel iwwersprangen wann Dir schonn eng hutt).

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

In vim lafen déi folgend nodeems Dir den ESC Schlëssel dréckt (An vim gëtt all Kommando ausgeführt nodeems Dir ESC Schlëssel dréckt, wat Iech an de Kommandomodus setzt).

:r $VIMRUNTIME/vimrc_example.vim 
:w