119 votes

Conflit entre le Ctrl-V de VIM et le collage de Windows

J'utilise VIM sous Windows. Le problème est que je veux utiliser CtrlV comme un mode visuel. Cependant, cette clé est en conflit avec la colle Windows. Comment puis-je rétablir cette touche en mode visuel de VIM au lieu de coller. Je préfère définir ce paramètre dans mon fichier de configuration _vimrc.

154voto

Alex Points 1122

De la documentation du VIM :

Depuis CTRLV est utilisé pour coller, vous ne pouvez pas l'utiliser pour commencer une sélection visuelle dans le sens des blocs. sélection visuelle. Vous pouvez utiliser CTRLQ au lieu de. Vous pouvez également utiliser CTRLQ en mode Insertion et le mode ligne de commande pour obtenir l'ancienne signification de CTRLV . Mais CTRLQ ne fonctionne pas pour les terminaux lorsqu'il est utilisé pour le flux de contrôle.

2 votes

J'aime mieux cela que de jouer avec _vimrc. Cela fonctionne immédiatement et comme il est peu probable que j'utilise des terminaux série à l'avenir, le contrôle de flux Ctrl-S/Ctrl-Q n'est pas un problème.

0 votes

Sous Linux (terminal Gnome), j'ai trouvé qu'il était préférable d'utiliser CTRL-K C R mais j'ai d'abord trouvé cette réponse.

3 votes

Pour une raison quelconque, j'avais besoin d'utiliser le Shift pour la sélection visuelle sous Windows, alors que je ne le fais pas sous Linux.

40voto

jop Points 31978

Vérifiez votre fichier _vimrc et voyez s'il source mswin.vim. Ce script fait correspondre le ^v au paste. Vous pouvez soit supprimer cette ligne dans votre fichier _vimrc, soit désactiver les commandes de mappage directement dans mswin.vim.

Consultez la rubrique :help behave de vim pour plus d'informations.

24voto

dannysauer Points 1962

Le mode visuel (et d'autres choses) fonctionnant comme sous Unix nécessite les suggestions du JOP et du programmeur Windows.

Dans GVim sous Windows, allez dans le menu Edition, cliquez sur Paramètres de démarrage, et commentez les déchets spécifiques à Windows (en utilisant le caractère de commentaire vimrc, qui est une double citation). Le fichier mswin.vim est l'endroit où l'option ctrl - v est spécifié, et l'option behave mswin fait en sorte que les touches fléchées ne se contentent pas d'appliquer le mouvement comme on pourrait s'y attendre (cela change également le comportement de la sélection de la souris).

"source $VIMRUNTIME/mswin.vim
"behave mswin

J'aime aussi ajouter un schéma de couleurs pour le fond noir, afin que cela ressemble plus à ce que je verrais dans un terminal (et parce qu'un fond clair est très bien sur le papier, mais horrible sur un écran rétroéclairé) : colorscheme koehler

20voto

Windows programmer Points 5365

Si cette ligne dans votre _vimrc vous dérange :

behave mswin

puis supprimez cette ligne.

14voto

rshdev Points 119

Je préfère avoir les mêmes frappes partout, donc j'utilise ceci dans mon .vimrc pour remplacer mswin.vim :

if has('win32')
  " Avoid mswin.vim making Ctrl-v act as paste
  noremap <C-V> <C-V>
endif

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X