Para recuar todo o arquivo automaticamente:
gg
=G
Explicado:
-
g
- vá para -
gg
- vai para o início do arquivo -
G
- ir para o final do arquivo -
=
- recuo
Estou tentando usar o Vim mais e mais quando posso. Uma das minhas maiores aderências entre o Vim e um IDE como o Aptana é a capacidade de recuo automático.
Existe um meio de codificação automática de formatação (HTML, CSS, PHP) para que seja corretamente indentado?
Se sim, como você instala isso no vim? Eu não entendo muito os plugins. Eu tentei rever este segmento e isso me confundiu mais: Como alterar o auto vim -indent comportamento?
Para recuar todo o arquivo automaticamente:
gg
=G
Explicado:
g
- vá para gg
- vai para o início do arquivo G
- ir para o final do arquivo =
- recuo Eu não sei sobre a formatação automática de código existente, mas se você estiver escrevendo código e precisar de recuo automático:
:set autoindent
(ou :set ai
) ativará o recuo automático :set tabwidth=4
(ou :set tw=4
) controlará em quantos espaços uma guia deve recuar o código >>
indentará a linha atual. Se você prefixar por um número, digamos 4>>
, ele irá recuar 4 linhas, começando com a linha atual. <<
irá desvincular uma linha Espero que isso seja um bom começo.
Recuo automático *.sh
Basta adicionar as seguintes linhas em ~/.vimrc
filetype indent on
set smartindent
autocmd BufRead,BufWritePre *.sh normal gg=G
Este plugin facilita a formatação no seu código. Ele integra formatadores externos e tem um recuo na funcionalidade de recuo do vim.
Além disso, observe a diferença entre formatação e recuo. Recuo só corrige o espaço em branco antes de cada linha, enquanto a formatação também lida com qualquer outra coisa, como espaços em branco em torno de operadores, etc.
No bash eu faço isso:
source <(echo "Zibri () {";cat script_to_be_reindented.sh; echo "}")
declare -f Zibri| cut -c 5-|head --lines=-1|tail --lines=+3
isso elimina comentários e reentena o script "bash way". não funcionará se o script contiver HEREDOCS, mas se você fizer isso:
source <(echo "Zibri () {";cat script_to_be_reindented.sh; echo "}")
declare -f Zibri|head --lines=-1|tail --lines=+3
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
Crie / edite o arquivo ~/.vimrc
e adicione a seguinte linha:
set autoindent
A formatação automática / recuo do vim funciona muito bem. Primeiro, coloque esta linha no seu ~/.vimrc
:
filetype plugin indent on
Em seguida, abra um arquivo no vim e digite gg=G
( gg
move o cursor para a primeira linha. =
executa o comando indent. G
informa ao comando indent para executar a partir daqui até a última linha.)
Se a autoformatação estiver muito ruim, como toda linha é apenas deixada recuada, execute :scriptnames
e verifique se .../indent/html.vim
(ou qualquer idioma que você esteja usando) está na lista. Caso contrário, verifique se o ~/.vimrc
está correto. Ou se você executou :filetype plugin indent on
da linha de comando do vim, você precisará reabrir o arquivo :e
Tags vim