Como recuar como espaços em vez de tabulação?

21

Estou codificando alguns modelos html em arquivos JADE. Quero recuar automaticamente o código com espaços em vez de tabulação. Eu tentei shiftwidth=2, tabstop=2mas não importa o que aconteça, ainda é recuar usando guias em vez de barra de espaço, o que faz com que a compilação JADE gere erros.

Como posso recuar automaticamente grandes seções de código usando espaços em vez de guias?

John
fonte

Respostas:

25

Você está procurando a expandtabopção. Quando esta opção é definida, os espaços são sempre usados. Você pode colocar set expandtabno seu vimrc para sempre ter essa opção definida quando o vim for iniciado. Se você deseja ativar esta opção apenas para idiomas específicos, consulte esta pergunta . Para obter ajuda sobre esta opção, consulte :help 'expandtab'.

EvergreenTree
fonte
1
graças :set expandtabme permitiu usar espaços em vez de guias para recuo
John
É verdade que tsé inútil quando etestá definido?
iBug 8/08
@iBug Não se você estiver criando o arquivo sozinho, mas pode ser útil defini-lo se estiver editando arquivos existentes com guias. Veja vim.fandom.com/wiki/Indenting_source_code para obter mais informações sobre recuo, achei muito mais claro que os arquivos de ajuda do vim.
EvergreenTree
22

Você deseja expandtab.

Mas geralmente existem algumas opções que você deseja definir ao mesmo tempo.

Se você adicionar o seguinte ao seu arquivo ~ / .vimrc

" tabstop:          Width of tab character
" softtabstop:      Fine tunes the amount of white space to be added
" shiftwidth        Determines the amount of whitespace to add in normal mode
" expandtab:        When on uses space instead of tabs
set tabstop     =4
set softtabstop =4
set shiftwidth  =4
set expandtab

Como alternativa, você pode executá-las manualmente a partir do modo normal, prosseguindo com ':'

Martin York
fonte