Eu tenho algum texto como o seguinte em um arquivo:
sample text
some random text
even more random text
text with no indent
worst indention
Preciso excluir o espaço vazio antes de cada uma das linhas. Para uma linha, o que eu faço é
0dw
Eu posso repetir o mesmo comando usando. mas navegando manualmente para as próximas linhas.
Mas existe uma maneira de aplicar '0dw' a esse bloco de linhas?
Suponho que existe uma maneira de usar macros, mas não as usei antes. Mas estou disposto a aprendê-los se não houver outra escolha.
text-processing
vim
saiy2k
fonte
fonte
Respostas:
Saiba mais aqui em http://vim.wikia.com/wiki/Remove_unwanted_spaces
Se você deseja fazer isso para um determinado intervalo de linhas:
BTW, a melhor maneira de começar a aprender o vim é executar o
vimtutor
comando, ele ensinará como usar o Vim no editor do Vim.fonte
V
e movendo o cursor para expandir a seleção de linha. Em seguida, pressione:
para entrar automaticamente'<,'>
e, a partir daí, você pode usar o regexp do Nikhil.:'a,'bs/^\s\+//
.Uma maneira alternativa de fazer isso é usar as ferramentas de indentação do VIM (geralmente vinculadas a </ >). Primeiro, você precisa de uma maneira de indicar quais linhas serão afetadas. Você pode usar o modo de seleção visual ou qualquer outro meio de especificar um intervalo de linhas a ser afetado e, em seguida, usar um número ou níveis de indentação arbitrariamente altos para remover.
9<
geralmente faz o truque para remover pelo menos 9 níveis de recuo possível (tabulações / espaços) das linhas atuais.fonte
Eu tenho abordagem para fazer isso nas seguintes etapas simples:
Explicação da terceira etapa:
0
navega para o início da linha.dw
exclui a palavra (espaços vazios).normal
aplica-se o comando0dw
.'<,'>
repete o normal para todas as linhas selecionadas no modo visual.fonte
ctrl+v
permite que você faça algo semelhante ao que deseja, mas não exatamente. Você pode selecionar um bloco visual e aplicar um comando ao lote.fonte
:normal
é a coisa mais importante aqui, e acho que é a melhor resposta aqui. Você poderia publicá-lo como resposta?