Pristup sadržaju međuspremnika preko višestrukih instanci Vim-a sa terminala


Vim (Vi IMproved) je jedan od najomiljenijih uređivača teksta među programerima. Ima svoje specijalnosti u izvođenju različitih operacija kratkim komandama ruke.

Na primjer, za kopiranje istaknutog teksta koristimo naredbu 'y' i 'x' za isjecanje istog. Ali, prema zadanim postavkama vim (a ne gVim) sadržaju međuspremnika ne može se pristupiti nakon zatvaranja vim instanci.

Vim koristi registar „+“ za upućivanje na sistemski međuspremnik. Možete pokrenuti 'vim –version' i ako ne vidite nešto poput "+xterm_clipboard" i umjesto toga "xterm_clipboard", tada sadržaj internog međuspremnika neće biti dostupan izvan vim.

Instalirajte gvim i parcellite

Da biste pristupili sadržaju vim međuspremnika, morate instalirati gvim paket. gVim je GUI način rada za vim editor gdje je opcija međuspremnika omogućena po defaultu.

yum install -y gvim

Zatim omogućite RPMForge Repository da instalirate parcellite paket. Parcellite je lagan, malen i besplatan menadžer međuspremnika za Linux.

yum install -y parcellite

Nakon instalacije, pokrenite sljedeću naredbu. Gdje se argument '&' koristi za slanje parcellita za pokretanje kao pozadinski proces.

parcellite &

Provjerite da li je opcija omogućena u gvimu.

gvim --version

Provjerite imate li opciju “+xterm_clipboard” prikazanu u izlazu kao što je prikazano ispod.

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

Otvorite korisnički .bashrc fajl.

vim ~/.bashrc

I dodajte pseudonim i sačuvajte datoteku (pritisnite 'i' da umetnete red i pritisnite ESC, zatim pokrenite :wq da sačuvate i izađete) .

.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

Ovaj pseudonim je ugrađeni koji se koristi za zaobilaženje neke komande drugoj. Stoga svaki put kada se izda vim naredba, odgovarajući pseudonim ide u gvim sa klipbordom koji je podrazumevano omogućen.

Sada uredite svoju '.vimrc' datoteku na sličan način (U slučaju da nemate .vimrc datoteku, generirajte jednu takvu datoteku i zatim se vratite ovdje .

vim ~/.vimrc

Dodajte sljedeći red i sačuvajte datoteku.

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

Sada otvorite bilo koju datoteku u vim-u i označite dio teksta (pomoću komande 'v') i pritisnite "+y. Pokušajte da zalijepite bilo gdje izvan vim-a (nakon zatvaranja ili bez zatvaranja vim-a) i gotovi ste.

Generiranje .vimrc datoteke

Pokrenite sljedeću naredbu da generišete datoteku .vimrc (preskočite ovaj dio ako ga već imate).

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

U vim-u pokrenite sljedeće nakon pritiska tipke ESC (u vim-u svaka naredba se pokreće nakon pritiska tipke ESC što vas stavlja u komandni mod).

:r $VIMRUNTIME/vimrc_example.vim 
:w