Desmarcar Comandos no Vim

16

Então, eu estava procurando uma maneira de recuar várias linhas no vim e alguém sugeriu fazer

:map <Tab> <

e tudo o que faz é inserir o <caractere sempre que pressiono tab (como eu não vi isso acontecer). Eu tentei fazer :map <Tab> <Tab>e :map <Tab> \ttrazer de volta recuos regulares, sem sucesso. Eu sou novo no vimmapeamento de chaves, então eu realmente aprecio a ajuda. Além disso, se alguém pudesse apontar como recuar várias linhas vim, isso seria incrível.

Desde já, obrigado!

Grigor
fonte
1
:unmap vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1) O Google é seu amigo.
precisa
1
@AdamLiss O Google é meu amigo, meu amigo, há tanto tempo.
Grigor

Respostas:

25

:unmap <Tab> para recuperar o comportamento padrão.

use :x>>para recuar x número de linhas (de onde o cursor está)

ennuikiller
fonte
: unmap <Tab> não funciona. por algum motivo: /
Grigor 22/06
isso funciona para mim.
DoubleDown
6
@Grigor Na sua pergunta, você afirmou que usou map <Tab> <. Desfazer esse comando correto é realmente unmap <Tab>, mas o próximo texto ("tudo o que faz é inserir o <caractere") significa que a afirmação original é falsa . Não há como você inserir <com esse mapeamento, mas seria verdade se você tivesse escrito imap <Tab> <. Este comando é desfeito usando iunmap <Tab>(observe os idois comandos). Para obter respostas corretas, você deve ser preciso.
Zyx
Uma observação no caso de alguém ter a mesma dificuldade que eu, se o mapeamento original for local de buffer, o desmapeamento também deve ser:iunmap <buffer> <Tab>
cristoper
0

Isso resolveu o problema de reverter as abas.

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

Pressionando Tabtravessões do código, Shift-Tabreverte indentação do código.

Grigor
fonte
3
você também pode usar :iunmap <Tab>. Se <Tab>é mapeado por :imap, você deve usar :iunmappara remover o mapeamento. :unmap <Tab>não funciona neste caso.
Hai Feng Kao