espaços-travessão Auto com C no vim?
-
01-07-2019 - |
Pergunta
Eu tenho um pouco estragado usando Eclipse e Java. Comecei a usar o vim fazer C codificação em um ambiente Linux, existe uma maneira de ter vim automaticamente fazer o espaçamento adequado para blocos?
Assim, depois de digitar um {a próxima linha terá 2 espaços recuados, e um retorno sobre essa linha vai mantê-lo no mesmo recuo, e um} irá mudar de volta 2 vagas?
Solução
Estes dois comandos deve fazê-lo:
:set autoindent
:set cindent
Para pontos de bônus colocá-los em um arquivo chamado Vimrc localizado em seu diretório home no linux
Outras dicas
escreveu tudo sobre guias no vim , que dá algumas coisas interessantes que você não perguntar sobre . Para chaves travessão automaticamente, use:
:set cindent
Para recuar dois espaços (em vez de um guia de oito espaços, o padrão Vim):
:set shiftwidth=2
Para manter vim de converter oito espaços em abas:
:set expandtab
Se você quiser alterar o recuo de um bloco de texto, use
(eu tentaria falar com você de usar recuo de dois espaço, desde que eu (e mais outras pessoas) achar que é difícil de ler, mas isso é outra discussão.)
Um monte de recursos do vim (como autoindent
e cindent
) estão desligados por padrão. Para ver realmente o que vim pode fazer por você, você precisa de um ~/.vimrc
decente.
Um bom arranque está em $VIMRUNTIME/vimrc_example.vim
. Se você quiser experimentá-lo, use
:source $VIMRUNTIME/vimrc_example.vim
quando no vim.
Eu realmente sugiro apenas copiar o conteúdo para o seu ~/.vimrc
como é bem comentado, e um bom lugar para começar a aprender como usar vim. Você pode fazer isso por
:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc
Este irá substituir o seu ~/.vimrc
atual, mas se tudo que você tem lá é o travessão configurações Davr sugeriu, eu não suar, como o exemplo vimrc vai cuidar disso para você também. Para um guia completo do exemplo, eo que ele faz para você, consulte :help vimrc-intro
.
Basta executar:
user@host:~ $ echo set autoindent >> .vimrc
Eu acho que a melhor resposta é realmente explicado na Wikia vim:
http://vim.wikia.com/wiki/Indenting_source_code
Note que desaconselha o uso de "autoindent set." A melhor característica de todos I encontrar nesta explicação é ser capaz de definir por arquivo configurações, o que é especialmente útil se você programar em Python e C ++, por exemplo, como você gostaria 4 espaços para guias no primeiro e 2 para espaços no último.
e sempre lembrar esta explicação venerável de Espaços + Tabs:
Tente:
set sw = 2
Definir ts = 2
set smartindent