2010-01-28 5 views
4

Je voudrais utiliser deux «contrôles» comme une touche bascule pour basculer entre le mode normal et le mode insertion en Vim. J'ajoute donc les deux lignes suivantes dans mon .vimrcTouche de carte pour basculer entre le mode normal et le mode insertion dans Vim

nmap <C-><C-> i 
imap <C-><C-> <ESC> 

Mais cela ne fonctionne pas. Quel est le problème avec les deux lignes ci-dessus?

+0

hm est pas déjà construit vim? 'i' passe en mode d'édition ou ctrl-c quitte le mode d'édition? – stefanB

+0

Oui, mais il veut pouvoir appuyer deux fois sur le bouton et basculer d'avant en arrière. – danben

Répondre

5

Il semble que vous essayez de mapper Ctrl + Espace pour basculer en mode insertion.

nnoremap <C-space> i 
imap <C-space> <Esc> 

(Came de this Vim tip (marquée obsolète, mais il y a un lien vers un document plus riche en évitant qui comprend la pointe).)

Rappelez-vous que cela ne soit pas garanti de fonctionner sur tous les terminaux et plates-formes . Certains terminaux et plates-formes peuvent utiliser un raccourci Ctrl + un, alors que d'autres ne le font pas, alors trouvez-en un qui fonctionne dans votre environnement.

+1

Cela ne fonctionnera que dans gvim. Le terminal vim a été informé du caractère de contrôle généré par votre espace ctrl. – graywh

0

Ça ne va certainement pas marcher. Vous pouvez utiliser une touche F à la place.

1
nnoremap <silent><C-space> :startinsert 
inoremap <silent><C-space> <C-O>:stopinsert 
0
nnoremap <C-SPACE> i 
inoremap <C-SPACE> <ESC>l 

fonctionne parfaitement avec GVIM 7.4

Questions connexes