No meu trabalho, sou obrigado a seguir o estilo da casa para o recuo, que é o seguinte:
- 2 espaços ao codificar html e ruby
- guias ao codificar javascript, com tabwidth = 4 recomendado
Qual é a melhor maneira de especificar diferentes preferências de espaço em branco por tipo de arquivo?
vim
whitespace
preferences
nelstrom
fonte
fonte
Respostas:
existem muitas maneiras, mas aqui está uma maneira simples e fácil de entender. adicione estas linhas ao seu
~/.vimrc
:fonte
A resposta de Peter é bastante direta, mas infelizmente as opções não estão certas. Você precisa usar as seguintes opções:
Observe também:
:set list
.:retab!
comandofonte
expandtab
maissts=2
+1 na resposta de Peter, mas o Vim também fornece outra solução. Se você quiser fazer algo mais complicado do que um único
setlocal
, como configurar várias opções, comandos e mapeamentos de uma só vez, o recurso de plug-in de tipo de arquivo do vim será útil.Você precisa ter
filetype plugin on
oufiletype plugin indent on
no seu.vimrc
e, em seguida, criar um plugin para, por exemplo, ruby que você pode criar~/.vim/ftplugin/ruby.vim
. Tecnicamente, você pode usar todos os comandos que você gosta aqui, para ser executado quando um arquivo Ruby está carregado, mas as recomendadas incluemsetlocal
,map <buffer>
,command -buffer
, e que definem funções. Muitas informações estão no Guia do Usuário; se você estiver familiarizado com o script vim, vá para:help 41.11
, caso contrário, leia:help usr_40
e:help usr_41
.fonte
Há também um bom script do vim: DetectIndent, que tenta detectar o recuo de um arquivo que você abre. É muito útil se você trabalha com muitos arquivos com diferentes estilos de codificação.
Eu uso um comando automático no meu .vimrc :
fonte
Para inserir caracteres de espaço sempre que a tecla Tab for pressionada, defina a opção 'expandtab':
O próximo passo é controlar o número de caracteres de espaço que serão inseridos quando a tecla Tab for pressionada, defina a opção 'tabstop'. Por exemplo, para inserir 2 espaços para uma guia, use:
ref: http://vim.wikia.com/wiki/Converting_tabs_to_spaces
fonte