Gostaria de converter tab em espaços no gVim. Eu adicionei a seguinte linha ao meu _vimrc
:
set tabstop=2
Ele funciona para parar em dois espaços, mas ainda parece que uma tecla de tabulação foi inserida (tentei usar a tecla h para contar os espaços posteriormente).
Não tenho certeza do que devo fazer para que o gVim converta abas em espaços?
^I
que vemCtrl-v
depoisTab
) seriam obras, por exemplo, se suas abas atuais é de 4 espaços::%s/ /^I/g
Respostas:
IIRC, algo como:
deve fazer o truque. Se você já possui guias, siga-o com um bom RE global para substituí-las por espaços duplos.
fonte
Depois que você tiver expandido a guia de acordo com as outras respostas, a maneira extremamente conveniente de converter arquivos existentes de acordo com as novas configurações é:
Ele funcionará no buffer atual.
fonte
:%s/\t/ /g
há anos antes de ver seu comentário.:args retab | w
todos os arquivos abertos na linha de comando, por exemplovim *.txt
,.Tentar
para abas suaves.
Para corrigir guias pré-existentes:
Usei dois espaços, já que você já definiu seu tabstop para 2 espaços.
fonte
set ts = 4
.Isso funcionou para mim:
você pode ver as guias primeiro fazendo isso:
para tornar possível substituir guias, faça o seguinte:
então
agora todas as guias foram substituídas por espaços. Você pode voltar à visualização normal como esta:
fonte
:set list
é simplesmente lindo.gg=G
reindentará o arquivo inteiro e removerá a maioria, senão todas as guias que eu recebo dos arquivos dos colegas de trabalho.fonte
gg
move o cursor para o início do buffer.=
é formato e assume um comando de movimento.G
move o cursor no final do buffer, para que ele seja formatado do começo ao fim do buffer atual.Adicione as seguintes linhas ao seu arquivo .vimrc
Abra um arquivo no vim e pressione F2. As guias serão convertidas em 4 espaços e o arquivo será salvo automaticamente.
fonte
q
o arquivo fechará também o buffer atual do arquivo. Isso pode ou não ser desejado.Se você deseja manter o seu
\t
igual a 8 espaços, considere a configuração:Isso fornecerá dois espaços por
<TAB>
impressora, mas\t
o código real ainda será exibido como 8 caracteres.fonte
softtabstop
, uma das características mais importantes, eu acho.Isso funcionou para mim:
fonte
procure primeiro as guias no seu arquivo: / ^ I: set expandtab: retab
vai funcionar.
fonte
Este artigo possui um excelente script vimrc para manipular guias + espaços e converter entre eles.
Fonte: http://vim.wikia.com/wiki/Super_retab#Script
Isso me ajudou um pouco mais do que as respostas aqui, quando fui procurar uma solução.
fonte
expand
é um utilitário unix para converter abas em espaços. Se você não desejaset
nada no vim, pode usar um comando shell do vim:fonte
:
. Agora a linha de comando do vim é exibida:'<,'>
. Em seguida, insira!expand -t4
a tab para 4 espaços. (A linha de comandos é como resultou:'<,'>!expand -t4
)