Estou tentando usar o Vim cada vez mais quando posso. Uma das minhas maiores vantagens entre o Vim e um IDE como o Aptana é a capacidade de recuo automático.
Existe um meio de código de formatação automática (HTML, CSS, PHP) para que seja recuado corretamente?
Se sim, como você instala isso no vim? Eu não entendo muito plugins. Tentei revisar esse tópico e isso me confundiu mais: como alterar o comportamento de recuo automático do vim?
Respostas:
Para recuar todo o arquivo automaticamente:
Explicado:
gg
- vá para o início do arquivoG
- vá para o final do arquivo=
- travessãofonte
gg=G
partir do shell sem abrir o arquivo?Não sei como formatar automaticamente o código existente, mas se você estiver escrevendo um código e precisar do recuo automático:
:set autoindent
(ou:set ai
) ativará o recuo automático:set tabwidth=4
(ou:set tw=4
) controlará quantos espaços uma guia deve recuar o código>>
comando irá recuar a linha atual. Se você o prefixar por um número, diga4>>
que ele recuará 4 linhas, começando com a linha atual.<<
comando irá recuar uma linhaEspero que isso lhe dê um bom começo.
fonte
={motion}
no modo normal - por exemplo=G
, recuará todo o código da linha atual até o final do arquivo.==
recuará a linha atual.:filetype indent on
)Recuo automático
*.sh
Basta adicionar as seguintes linhas em
~/.vimrc
fonte
~./vimrc
aplicável apenas ao editor vim.Esse plug-in facilita a formatação do seu código. Ele integra formatadores externos e tem um recurso na funcionalidade de indentação do vim.
https://github.com/Chiel92/vim-autoformat
Observe também a diferença entre formatação e recuo. Recuar apenas corrige o espaço em branco antes de cada linha, enquanto a formatação também lida com qualquer outra coisa, como espaço em branco ao redor dos operadores etc.
fonte
Crie / edite o
~/.vimrc
arquivo e adicione a seguinte linha:fonte
:set autoindent
que permite o recuo automático apenas para o arquivo atual. Adicioná-lo no.vimrc
arquivo permite o recuo automático permanentemente.No bash, faço o seguinte:
isso elimina comentários e reutiliza o script "bash way". não funcionará se o script contiver HEREDOCS, mas se você fizer isso:
funcionará com qualquer script, mas o script inteiro será recuado por 4 espaços. sinta-se livre para modificar, mas cite meu nome no seu script e publique-o! : D
fonte
sed
se assim o desejar:cat script_to_be_reindented.sh | sed 's#^# #g'
(er, bem, então remarcação está substituindo os espaços com um guia, mas você começa o ponto)O autoformato / recuo do vim funciona muito bem. Primeiro, coloque esta linha no seu
~/.vimrc
:Em seguida, abra um arquivo no vim e digite
gg=G
(
gg
move o cursor para a primeira linha.=
executa o comando indent.G
diz ao comando indent para executar daqui até a última linha.)Se o formato automático parecer realmente ruim, como todas as linhas são apenas recuadas, execute
:scriptnames
e verifique se.../indent/html.vim
(ou o idioma que você está usando) está na lista. Caso contrário, verifique se~/.vimrc
está correto. Ou, se você executou a:filetype plugin indent on
partir da linha de comando do vim, precisará abrir novamente o arquivo:e
fonte