web-dev-qa-db-fra.com

Comment permuter entre les modes commande et insertion dans Vim?

Je viens juste de commencer à utiliser Vim comme IDE. Cela faisait un moment que je l'utilisais comme éditeur de test, je n'avais donc pas besoin de passer souvent en mode commande. Mais, depuis que je programme en Java, je dois passer en mode commande pour créer le fichier, le compiler/le lancer, etc.

Le problème est le suivant: j'ai besoin d'un bon moyen de basculer entre les deux modes.

J'ai regardé en ligne et il est indiqué que la clé <Esc> est censée le faire, mais cela ne fonctionne pas pour moi (peut-être que ce n'est pas pour gVim? Je ne sais pas pourquoi.)

Je dois appuyer CTRLO chaque fois pour aller en mode commande; la touche d'échappement fonctionne à partir de ce mode ... elle me ramène au mode insertion. Mais existe-t-il un moyen plus aisé ou plus simple de basculer entre le mode commande et le mode insertion?

79
Ravish Chawla

On dirait que votre Vim est lancé dans mode facile. Voir :help easy.

Cela se produit lorsque Vim est appelé avec l'argument -y ou en tant que evim ou peut-être que vous avez un :set insertmode quelque part dans votre configuration .vimrc. Trouvez la source et désactivez-la; temporairement, cela peut aussi être fait via Ctrl + O :set noim Enter.

41
Ingo Karkat

Pressage ESC passe du mode insertion au mode normal, où vous pouvez appuyer sur : taper une commande. presse i encore une fois pour revenir en mode insertion, et vous êtes prêt à partir.

Je ne suis pas un gourou de Vim, alors quelqu'un d'autre peut être plus expérimenté et vous donner d'autres options.

106
rcdmk

Cela a été mentionné dans autres questions , mais ctrl + [ est l'équivalent de ESC sur tous les claviers.

13
begolf123

Utiliser jj

Dans mon cas, le paramètre .vimrc (ou dans gVim c’est dans _vimrc) ci-dessous.

inoremap jj <Esc>   """ jj key is <Esc> setting
4
StarMomo

Venant d’emacs, j’ai découvert que j’aime les touches ctrl +, et dans vim, j’ai constaté que [ctrl + C] et [alt + backspace] passeraient en mode normal à partir du mode insertion. Vous pourriez essayer de voir si l’une de ces solutions vous conviendrait.

2
maxorcist

Pour moi, le problème était que j'étais en mode d'enregistrement . Pour quitter le mode enregistrement, appuyez sur q. ensuite Esc a fonctionné comme prévu pour moi.

1
betontalpfa

Vous pouvez utiliser Alt + H, J, K, L pour déplacer le curseur en mode insertion.

0
Khoi Hoang

Il existe également une solution supplémentaire à ce type de problème, ce qui est plutôt rare, à mon avis, et vous pourrez le rencontrer si vous utilisez vim sur OS X Sierra. En fait, c'est un problème avec le bouton Esc - pas avec vim. Par exemple, je n'ai pas pu quitter la vidéo en plein écran sur youtube avec Esc, mais j'ai vécu avec cela pendant quelques mois jusqu'à ce que le même problème se pose avec vim.

J'ai trouvé ceci solution. Si vous êtes assez paresseux pour suivre un lien externe, il est utile de désactiver Siri et de supprimer le processus dans Activity Monitor.

0
oleander