Vyhledávání na webu

Přístup k obsahu schránky ve více instancích Vimu z terminálu


Vim (Vi IMproved) je jedním z nejoblíbenějších textových editorů mezi programátory. Má své vlastní speciality v provádění různých operací pomocí krátkých ručních příkazů.

Například ke zkopírování zvýrazněného textu použijeme příkaz „y“ a „x“ jej ořízneme. Ve výchozím nastavení však obsah schránky vim (a nikoli gVim) není po zavření instancí vim přístupný.

Vim používá registr „+“ k odkazování na systémovou schránku. Můžete spustit 'vim –version' a pokud nevidíte něco jako „+xterm_clipboard“ a místo toho „xterm_clipboard“, pak obsah vnitřní schránky nebude k dispozici mimo vim.

Nainstalujte gvim a parcellite

Abyste mohli přistupovat k obsahu schránky vim, musíte si nainstalovat balíček gvim. gVim je režim GUI pro editor vim, kde je ve výchozím nastavení povolena možnost schránky.

yum install -y gvim

Dále povolte RPMForge Repository pro instalaci balíčku parcellite. Parcellite je lehký, malý a bezplatný správce schránky pro Linux.

yum install -y parcellite

Po instalaci spusťte následující příkaz. Kde se argument „&“ používá k odeslání parcellite ke spuštění jako procesu na pozadí.

parcellite &

Zkontrolujte, zda je tato možnost povolena v gvim.

gvim --version

Ujistěte se, že je ve výstupu zobrazena možnost „+xterm_clipboard“, jak je uvedeno níže.

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

Otevřete soubor .bashrc uživatele.

vim ~/.bashrc

Přidejte alias a uložte soubor (stiskněte 'i' pro vložení řádku a stiskněte ESC, poté spusťte :wq pro uložení a ukončení) .

.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

Tento alias je vestavěný, který se používá k obcházení některých příkazů na jiný. Pokaždé, když je tedy vydán příkaz vim, odpovídající alias přejde do gvim se schránkou ve výchozím nastavení povolenou.

Nyní upravte svůj soubor '.vimrc' podobným způsobem (v případě, že nemáte soubor .vimrc, vygenerujte si jeden takový soubor a pak se vraťte sem .

vim ~/.vimrc

Připojte následující řádek a uložte soubor.

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

Nyní otevřete libovolný soubor ve vimu a zvýrazněte část textu (pomocí příkazu ‚v‘) a stiskněte „+y. Zkuste vložit kamkoli mimo vim (po zavření nebo bez zavření vim) a máte hotovo.

Generování souboru .vimrc

Spuštěním následujícího příkazu vygenerujte soubor .vimrc (pokud již nějaký máte, tuto část přeskočte).

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

Ve vim spusťte následující po stisknutí klávesy ESC (ve vim se každý příkaz spustí po stisknutí klávesy ESC, která vás přepne do příkazového režimu).

:r $VIMRUNTIME/vimrc_example.vim 
:w