Få tilgang til utklippstavleinnhold på tvers av flere forekomster av Vim fra terminal
Vim (Vi IMproved) er en av de mest favoritt tekstredigerere blant programmerere. Den har sine egne spesialiteter i å utføre forskjellige operasjoner med korte håndkommandoer.
For å kopiere den uthevede teksten bruker vi for eksempel 'y'-kommandoen og 'x' for å klippe den samme. Men som standard kan ikke vim (og ikke gVim) utklippstavleinnhold nås etter å ha lukket vim-forekomster.
Vim bruker ‘+’-registeret for å referere til systemets utklippstavle. Du kan kjøre 'vim –version', og hvis du ikke kan se noe som +xterm_clipboard og i stedet xterm_clipboard, vil internt utklippstavleinnhold ikke være tilgjengelig utenfor vim.
For å få tilgang til innholdet i vim-utklippstavlen, må du installere gvim-pakken. gVim er en GUI-modus for vim-redigering der utklippstavlen er aktivert som standard.
# yum install -y gvim
Deretter aktiverer du RPMForge Repository for å installere parcellite-pakken. Parcellite er en lett, liten og gratis utklippstavlebehandler for Linux.
# yum install -y parcellite
Når den er installert, kjør følgende kommando. Hvor argumentet '&' brukes til å sende parcellite for å kjøre som en bakgrunnsprosess.
# parcellite &
Sjekk om alternativet er aktivert i gvim.
# gvim --version
Sørg for at du har +xterm_clipboard-alternativet vist i utdataene som vist nedenfor.
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
Åpne brukerens .bashrc-fil.
# vim ~/.bashrc
Og legg til aliaset og lagre filen (trykk 'i' for å sette inn linje og trykk ESC, kjør deretter :wq for å lagre og avslutte).
# .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
Dette aliaset er en innebygd som brukes til å omgå en kommando til en annen. Hver gang vim-kommandoen utstedes, går det tilsvarende aliaset til gvim med utklippstavlen aktivert som standard.
Rediger nå '.vimrc'-filen din på lignende måte (i tilfelle hvis du ikke har en .vimrc-fil, generer en slik fil og kom så tilbake hit.
# vim ~/.vimrc
Legg til følgende linje og lagre filen.
autocmd VimLeave * call system("echo -n $'" . escape(getreg(), "'") . "' | xsel -ib")
Åpne nå hvilken som helst fil i vim og marker tekstdelen (ved å bruke 'v'-kommandoen) og trykk på \+y. Prøv å lime inn hvor som helst utenfor vim (etter lukking eller uten lukking av vim) og du er ferdig.
Kjør følgende kommando for å generere .vimrc-fil (hopp over denne delen hvis du allerede har en).
# cd [This will put you in home directory] # vim .vimrc
In vim kjør følgende etter å ha trykket på ESC-tasten (In vim kjøres hver kommando etter å ha trykket på ESC-tasten som setter deg i kommandomodus).
:r $VIMRUNTIME/vimrc_example.vim :w