Annuler le mappage des commandes dans Vim

16

Je cherchais donc un moyen de mettre en retrait plusieurs lignes dans vim et quelqu'un a suggéré de faire

:map <Tab> <

et tout ce qu'il fait est d'insérer le <caractère chaque fois que j'appuie sur tab (Comment ne l'ai-je pas vu arriver). J'ai essayé de faire :map <Tab> <Tab>et :map <Tab> \tde ramener une indentation régulière, sans succès. Je suis nouveau dans la vimcartographie des clés, j'apprécierais vraiment de l'aide. De plus, si quelqu'un pouvait indiquer comment mettre en retrait plusieurs lignes vim, ce serait génial.

Merci d'avance!

Grigor
la source
1
:unmap vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1) Google est votre ami.
Adam Liss
1
@AdamLiss Google est mon ami, mon ami, depuis si longtemps.
Grigor

Réponses:

25

:unmap <Tab> pour récupérer le comportement par défaut.

utiliser :x>>pour indenter x nombre de lignes (d'où le curseur se trouve)

ennuikiller
la source
: unmap <Tab> ne fait pas l'affaire .. pour une raison quelconque: /
Grigor
cela fonctionne pour moi.
doubleDown
6
@Grigor Dans votre question, vous avez affirmé avoir utilisé map <Tab> <. Annuler cette commande correcte est en effet unmap <Tab>, mais le texte suivant ("il suffit d'insérer le <caractère") signifie que la revendication d'origine est fausse . Il n'y a aucun moyen d'insérer <avec un tel mappage, mais ce serait vrai si vous avez écrit imap <Tab> <. Cette commande est annulée à l'aide de iunmap <Tab>(notez les idans les deux commandes). Pour obtenir des réponses correctes, vous devez être précis.
ZyX
Une note au cas où quelqu'un aurait eu la même difficulté que moi, si le mappage d'origine est un tampon local, alors le démappage doit être aussi:iunmap <buffer> <Tab>
cristoper
0

Cela a résolu le problème pour revenir en arrière tabulation.

:imap <Tab> <C-t>
:imap <S-Tab> <C-d>

Appuyer sur Tabindente le code, Shift-Tabannule l'indentation du code.

Grigor
la source
3
vous pouvez également utiliser :iunmap <Tab>. Si <Tab>est mappé par :imap, vous devez utiliser :iunmappour le démapper. :unmap <Tab>ne fonctionne pas dans ce cas.
Hai Feng Kao du