Aċċess għall-Kontenut tal-Klipboard F'Istanza Multipli ta' Vim mit-Terminal


Vim (Vi IMproved) huwa wieħed mill-edituri tat-test l-aktar favoriti fost il-programmaturi. Għandu l-ispeċjalitajiet tiegħu stess fit-twettiq ta 'operazzjonijiet differenti bi kmandi qosra bl-idejn.

Pereżempju, biex tikkopja t-test enfasizzat nużaw il-kmand 'y' u 'x' biex naqtgħu l-istess. Iżda, b'mod awtomatiku vim (u mhux gVim) il-kontenut tal-clipboard ma jistax jiġi aċċessat wara li jagħlqu l-istanzi tal-vim.

Vim juża r-reġistru ‘+’ biex jirreferi għall-clipboard tas-sistema. Tista’ tħaddem ‘vim –version’ u jekk ma tistax tara xi ħaġa bħal “+xterm_clipboard” u minflok “xterm_clipboard”, allura l-kontenut intern tal-clipboard ma jkunx disponibbli barra vim.

Sabiex taċċessa l-kontenut tal-clipboard vim, għandek bżonn tinstalla l-pakkett gvim. Il-gVim huwa mod GUI għall-editur vim fejn l-għażla tal-clipboard hija attivata b'mod awtomatiku.

# yum install -y gvim

Sussegwentement, ppermetti RPMForge Repository biex jinstalla l-pakkett tal-parcellite. Il-Parcellite huwa maniġer tal-clipboard ħafif, ċkejken u ħieles għal Linux.

# yum install -y parcellite

Ladarba installat, mexxi l-kmand li ġej. Fejn l-argument ‘&’ jintuża biex jintbagħat il-parcellite għat-tħaddim bħala proċess ta’ sfond.

# parcellite &

Iċċekkja jekk l-għażla hijiex attivata fil-gvim.

# gvim --version

Kun żgur li għandek l-għażla + xterm_clipboard murija fl-output kif muri hawn taħt.

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

Iftaħ il-fajl .bashrc tal-utent.

# vim ~/.bashrc

U żid l-alias u ssalva l-fajl (agħfas 'i' biex daħħal il-linja u agħfas ESC, imbagħad mexxi :wq biex issalva u toħroġ).

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

Dan l-alias huwa built-in użat biex jevita xi kmand għal ieħor. Għalhekk kull darba li jinħareġ il-kmand tal-vim, l-alias korrispondenti jmur għand gvim bil-clipboard attivat b'mod awtomatiku.

Issa editja l-fajl '.vimrc' tiegħek b'mod simili (Fil-każ jekk ma jkollokx fajl .vimrc, iġġenera fajl wieħed bħal dan u mbagħad terġa 'lura hawn.

# vim ~/.vimrc

Ehmeż il-linja li ġejja u ssejvja l-fajl.

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

Issa iftaħ kwalunkwe fajl f'vim u enfasizza l-parti tat-test (bl-użu tal-kmand 'v') u agħfas \+y. Ipprova paste kullimkien barra vim (wara li tagħlaq jew mingħajr ma tagħlaq il-vim) u lest.

Mexxi l-kmand li ġej biex tiġġenera fajl .vimrc (aqbeż din il-parti jekk diġà għandek waħda).

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

Fil-vim mexxi dan li ġej wara li tagħfas iċ-ċavetta ESC (Fil-vim kull kmand jitmexxa wara li tagħfas iċ-ċavetta ESC li tpoġġik fil-mod ta 'kmand).

:r $VIMRUNTIME/vimrc_example.vim 
:w