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?

Foi útil?

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 costumo usar isso em conjunto com o modo de bloco-select (v, selecione um bloco de texto, ).

(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:

http://www.jwz.org/doc/tabs-vs -spaces.html

Tente:

set sw = 2

Definir ts = 2

set smartindent

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top