Inserir guias no modo INSERIR quando a guia de expansão estiver configurada
12
Eu configurei expandtabno meu .vimrcarquivo para converter tabem vários spacecaracteres. No entanto, alguns arquivos (como Makefile) precisam do tabcaractere inserido.
Existe uma maneira fácil de forçar a inserção tabenquanto estou digitando?
Em vez de apenas pressionar Tab, primeiro pressione Ctrl-Ve, em seguida, pressione Tab.
Isso pode ser usado para inserir uma variedade de caracteres especiais. Veja :help i_CTRL-Vpara detalhes.
Ctrl-Vtambém funciona no modo de linha de comando ( :help c-CTRL-V) e até mesmo em alguns outros programas. (por exemplo, bash, vira-lata)
Se você Ctrl-Vmapeou para outra coisa, tente Ctrl-Q. Isso tem o mesmo efeito no Vim que Ctrl-V, mas alguns terminais o usam para controlar o fluxo; nesse caso, o Vim nunca o verá.
Ou <c-v>009em caso de Tab quebrado purista chave ou incondicional ASCII :-)
Martin Tournoij
17
Em vez de mudar seu comportamento (que é propenso a erros).
Eu configuraria o vim para se comportar de maneira diferente para esse tipo de arquivo.
Então, na minha edição normal, expanda as guias. Mas especificamente para os makearquivos que eu defino noexpandtabpara que as guias sejam mantidas.
Adicione o seguinte ao seu arquivo ~ / .vimrc:
" Normal action
set expandtab
if has("autocmd")
" If the filetype is Makefile then we need to use tabs
" So do not expand tabs into space.
autocmd FileType make set noexpandtab
endif
Eu respondi a sua pergunta, mas você realmente descobriu qual é o problema subjacente muito melhor do que eu. Bom trabalho.
Rich
Eu acho que as duas respostas são valiosas. Porque às vezes você está logado em algum lugar remoto e não quer mexer com a configuração do vim, mas deseja editar rapidamente um Makefile.
<c-v>009
em caso de Tab quebrado purista chave ou incondicional ASCII :-)Em vez de mudar seu comportamento (que é propenso a erros).
Eu configuraria o vim para se comportar de maneira diferente para esse tipo de arquivo.
Então, na minha edição normal, expanda as guias. Mas especificamente para os
make
arquivos que eu definonoexpandtab
para que as guias sejam mantidas.Adicione o seguinte ao seu arquivo ~ / .vimrc:
fonte