Eu vejo na sua captura de tela que você está executando no Windows, então essa resposta pode não ajudar muito. Mas para os outros ...
Um recurso subutilizado (IMO) do Vim é permitir que comandos externos façam o trabalho pesado.
Neste caso, se você estiver em um sistema semelhante ao UNIX, poderá usar o comando wc
para fazer isso.
A maneira mais simples é substituir o texto selecionado pela saída do comando, digitando (com o texto selecionado):
:!wc
(depois pressione enter).
Isto irá aparecer na sua linha de comando como:
'<,'>!wc
Depois de ler as informações, você pode desfazer com u
para voltar ao ponto de partida.
Nota: Este processamento é feito apenas em linhas inteiras . Se você quiser linhas parciais, acho que o g_CTRL-G
do @garyjohn é a sua melhor aposta.
Você pode evitar a necessidade de desfazer, executando:
:w !wc
Isso "grava" as linhas selecionadas na entrada padrão do comando, e a saída do comando será exibida em um novo buffer temporário, deixando o original intocado. Veja :help :write_c
para mais informações.
Observação: recebi as informações de :write_c
de: link
Agora, mais geralmente:
Este exemplo com wc
é bastante simplista, mas você pode imaginar como essa é uma abordagem poderosa. O UNIX tem muitos comandos de processamento de texto já disponíveis, e você pode usá-los dentro do Vim facilmente, sem precisar tocar no Vimscript (yech).
Além disso, qualquer programa de linha de comando que você escreve que lida com stdin / stdout agora pode não apenas beneficiar você no seu terminal, mas também dentro do Vim.
Eu me encontro, por exemplo, executando tidy
e json-format
de dentro do vim para tornar os arquivos que eu estou vendo mais legíveis.
Você pode fazer o mesmo no Windows, mas o Windows não possui um conjunto tão rico de comandos embutidos. Você sempre pode instalar o GNUWin32 ou similar para obter esses benefícios, no entanto.