J'utilise un système Linux. Deux vims sont ouverts dans deux terminaux. Maintenant, je voudrais copier du texte de A vers B. Une façon de le faire est de sélectionner du texte dans A, d'utiliser la souris pour copier, puis de passer à B, en mode insertion, la commande <c-r>+
collera le texte.
Est-il possible de le faire sans utiliser de souris? comme "+yy
dans A, quand passer à B o<c-r>+
,? J'ai exploré en vain quelques combinaisons. Et j'ai cherché "copier sur les terminaux", mais je n'ai rien trouvé.
@statox utilisateur propose une solution en utilisant le mode visuel, soit v$"+y
en A, lorsque l' interrupteur à B, o<c-r>+
.
Existe-t-il un moyen simple de copier le texte en A sans passer en mode v? Certes, entrer en mode v n'implique pas trop de frappes de touches, demandez-vous simplement s'il y a une meilleure façon. Par exemple. si le curseur est au milieu d'une ligne, yy
copie la ligne entière (pour s'enregistrer "
), tout en faisant 0v$y
la même chose avec un coup de clé supplémentaire.
Ou, ma question peut être réduite à s'il existe un moyen avec moins de touches que 0v$"+y
pour copier de sorte que je puisse utiliser <alt-tab>o<c-r>+
pour coller.
la source
"+y
et dans l'autre instance de vim mettez le registre du presse-papiers"+p
. Ou un double de ce ?y
avec un mouvement (:help motion.txt
) ou un objet (:help object-select
). Si vous copiez et collez souvent entre les instances de Vim, vous pouvez trouver ce paramètreclipboard
à inclureunnamed
ouunnamedplus
utile. Tu vois:help 'clipboard'
. Ensuite, la copie entre les instances devrait simplement fonctionner.0v$
est le même queV
. Et il est facile de faire une cartographie pour"+y
::nnoremap <Leader>y "+y
. Donc, cela le réduit àV\y
.V"+y
4 touches.Réponses:
Vous pouvez vérifier si Vim est construit avec le support du presse-papiers avec:
Si la sortie est
1
, les éléments suivants devraient être suffisants pour atteindre votre objectif:Vous pouvez rendre tout cela beaucoup plus transparent en synchronisant le registre du presse-papiers et le registre par défaut avec ce paramètre dans votre
vimrc
:Si la sortie de
:echo has('clipboard')
est0
, pensez à installer un Vim approprié commevim-gtk
ouvim-gnome
(le nom du paquet peut différer d'une distribution à l'autre).la source
Je pense que la solution que vous avez déjà mentionnée dans votre question est la bonne. Si vous souhaitez réduire le nombre de frappes, vous pouvez simplement créer une carte, par exemple
Voir la deuxième entrée ici .
la source
Pour étendre la réponse de @ romainl (avec la prise en charge du presse-papiers), vous pouvez utiliser des registres partagés avec le presse-papiers à l'échelle du système.
En exécutant ces commandes, vous y Anking / copier / stocker des contenus sélectionnés dans les registres, et p asting leur destination à Vim-terminal. Ces deux registres spéciaux
+
et*
sont partagés avec le système large presse - papier (et donc beaucoup d' autres programmes tels que le navigateur Web, gedit etc). Le registre+
est associé au tampon copier / coller et*
est associé au tampon de sélection (celui qui insère une copie de la sélection avec un clic du milieu sur un champ de texte dans, disons, Ubuntu) et peut être collé à l'aide dectrl + v
(ctrl + shift + v
sur gnome-terminal).la source
1) Sur Fedora, j'utilise la configuration suivante:
vim-X11 est livré avec un support presse-papiers - peut-être que dans d'autres distributions, il est similaire.
2) Définissez un alias dans mon .bashrc
3) En .vimrc:
Maintenant, le coup sec habituel dans Vim va dans le presse-papiers du système et chaque Ctrl-C en dehors de vim peut être collé dans vim.
la source
Si vous utilisez un Mac (OSX), vous pouvez installer bpcopy (en utilisant brew install pbcopy - voir http://brew.sh/ pour plus de détails). Exécutez ensuite la commande suivante (ligne de commande directe) sans toucher à la souris:
EXEMPLE:
1) Au TERMINAL # 001 :
2) Vous pouvez basculer vers le terminal # 002 (sans utiliser la souris) en utilisant les touches de raccourci intégrées dans l'application de terminal OSX: command+i
3) Dans TERMINAL # 002 : Ouvrez le nouveau fichier dans vim
4) Mettez vim en mode insertion aveci
5) Insérez le texte du presse-papiers avec command+ V(pour coller depuis le presse-papiers sur un Mac)
6) Profitez du reste de votre journée!
la source