Dans un terminal vim, coller des données du presse-papiers gâche souvent le retrait du code. Je savais juste que si j'utilise :set paste
le retrait n'est pas cassé. Cependant, après avoir collé des données, dois-je :set nopaste
recommencer? Et si je ne le fais pas, quel est le problème?
19
Réponses:
Comme d'autres l'ont écrit, vous ne voulez pas laisser l'ensemble «coller». Je voulais juste souligner qu'avec un bon émulateur de terminal et un compilé et configuré correctement
vim
, vous ne devriez pas avoir besoin de changer 'coller'. Vous avez besoin d'un bon émulateur de terminal tel que xterm ou GNOME Terminal, vim avec la fonctionnalité X11 incluse et l'option «souris» réglée sur «a». Ilvim
saura alors quand vous collerez avec la souris et définira et désactivera efficacement l'option «coller» pour vous.Une façon d'obtenir un
vim
avec la fonctionnalité X11 consiste à exécutergvim
l'-v
option ou à créer un alias,Mettez ensuite
dans votre ~ / .vimrc.
la source
Copy
sera grisé ou ne sera pas visible du tout sauf si du texte a été sélectionné. Comment sélectionnez-vous le texte à copier?Ce message a ma réponse préférée, https://coderwall.com/p/if9mda/automatically-set-paste-mode-in-vim-when-pasting-in-insert-mode
Fondamentalement, si vous démarrez en mode Insertion et utilisez Ctrl + Shift + V ou un clic droit coller avec votre souris, Vim détecte que cela vient d'un terminal et définit automatiquement le mode coller, puis le désactive une fois terminé, afin de ne pas perdre les clés remappées (qui ne peut pas fonctionner en mode coller car il écrit des données brutes) et vous êtes de retour à un état "sain" quand c'est fait.
Pour juste vim (mettez votre .vimrc)
Si vous utilisez vim sous Tmux (va toujours dans .vimrc)
la source
let &t_SI .= "\<Esc>[?xxxxx"
lignes détecte le raccourci de collage du clavier? Est-ce que cela fonctionne aussi pour Mac étant donné les différents raccourcis?Comme l'a suggéré romainl, la documentation explique que la définition de l'
'paste'
option désactive plusieurs autres options, et vous constaterez certainement que plus tôt que tard, cela vous posera des problèmes. Pour cette raison, il y a l''pastetoggle'
option. Voir:la source
Si quelque chose existe, il doit avoir sa signification. Vous devriez jeter un œil à la documentation de vim qui est très utile.
Une fois que vous aurez lu, vous voudrez peut-être ceci:
J'espère que vous trouverez cet article utile :)
la source
IIRC lorsque vous collez dans vim, il pense essentiellement que vous avez tapé tous ces caractères vous-même. Donc, si le retrait automatique est activé, il mettra en retrait des éléments pour vous, mais le texte collé contient généralement déjà un retrait, de sorte que le retrait est effectivement "foiré". Le passage en mode collage désactive des éléments tels que le retrait automatique.
Si vous aimez le retrait automatique au fur et à mesure que vous tapez, vous devez le réactiver sur nopaste une fois le collage terminé. Essayez-le et notez comment vous devez effectuer toutes les indentations manuellement en mode collage.
la source