Recherche de site Web

Accès au contenu du Presse-papiers sur plusieurs instances de Vim à partir du terminal


Vim (Vi IMproved) est l'un des éditeurs de texte les plus appréciés des programmeurs. Il possède ses propres spécialités dans l'exécution de différentes opérations avec des commandes manuelles courtes.

Par exemple, pour copier le texte en surbrillance, nous utilisons la commande « y » et « x » pour le couper. Mais, par défaut, le contenu du presse-papiers vim (et non gVim) n'est pas accessible après la fermeture des instances vim.

Vim utilise le registre « + » pour faire référence au presse-papiers du système. Vous pouvez exécuter « vim –version » et si vous ne voyez pas quelque chose comme « +xterm_clipboard » et à la place « xterm_clipboard », alors le contenu interne du presse-papiers ne sera pas disponible en dehors de vim.

Installer gvim et Parcellite

Pour accéder au contenu du presse-papiers vim, vous devez installer le package gvim. Le gVim est un mode GUI pour l'éditeur vim où l'option presse-papiers est activée par défaut.

yum install -y gvim

Ensuite, activez RPMForge Repository pour installer le package parcellite. Parcellite est un gestionnaire de presse-papiers léger, petit et gratuit pour Linux.

yum install -y parcellite

Une fois installé, exécutez la commande suivante. Où l'argument « & » est utilisé pour envoyer Parcellite à exécuter en tant que processus en arrière-plan.

parcellite &

Vérifiez si l'option est activée dans gvim.

gvim --version

Assurez-vous que l'option « +xterm_clipboard » est affichée dans la sortie, comme indiqué ci-dessous.

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

Ouvrez le fichier .bashrc de l'utilisateur.

vim ~/.bashrc

Et ajoutez l'alias et enregistrez le fichier (appuyez sur 'i' pour insérer une ligne et appuyez sur ESC, puis exécutez :wq pour enregistrer et quitter) .

.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

Cet alias est un élément intégré utilisé pour contourner une commande par une autre. Ainsi, chaque fois que la commande vim est émise, l'alias correspondant va vers gvim avec le presse-papiers activé par défaut.

Modifiez maintenant votre fichier '.vimrc' de la même manière (si vous n'avez pas de fichier .vimrc, générez-en un via puis revenez ici .

vim ~/.vimrc

Ajoutez la ligne suivante et enregistrez le fichier.

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

Maintenant, ouvrez n'importe quel fichier dans vim et mettez en surbrillance la partie de texte (à l'aide de la commande 'v') et appuyez sur « +y. Essayez de coller n'importe où en dehors de vim (après la fermeture ou sans fermer vim) et vous avez terminé.

Génération du fichier .vimrc

Exécutez la commande suivante pour générer le fichier .vimrc (ignorez cette partie si vous en avez déjà un).

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

Dans vim, exécutez ce qui suit après avoir appuyé sur la touche ESC (dans vim, chaque commande est exécutée après avoir appuyé sur la touche ESC qui vous met en mode commande).

:r $VIMRUNTIME/vimrc_example.vim 
:w