Como eliminar eficientemente os primeiros N caracteres de cada linha de um parágrafo sem usar o modo visual no Vim?

0

No vim, é possível excluir os primeiros N caracteres em cada linha em um parágrafo sem usar o modo visual ou usar o comando dot várias vezes?

Converter

www.some_website.com
www.some_webiste2.com

para

some_website.com
some_webiste2.com

Sem usar o modo visual ou d4l j . ?

Eu acho que minha pergunta também pode ser formulada como "existe um operador linewise para um objeto de texto de parágrafo?"

    
por Alby 24.06.2015 / 18:07

2 respostas

2

A execução de uma substituição em um intervalo de linhas é provavelmente a solução mais "semelhante a Vim".

Supondo que você queira trabalhar no que o Vim considera um parágrafo :

:'{,'}s/^www\.

Se você gosta de contar personagens:

:'{,'}s/.\{4}

Pode-se usar :normal também:

:'{,'}norm! 4x

Veja :help navigation , :help :normal , :help \{ .

    
por 24.06.2015 / 20:54
0

Além do comando substitute e diretamente usando normal mencionado em outra resposta, você também pode repetir um comando normal (como d4l ) em qualquer número de linhas usando o comando :global :

:g/^www/normal d4l

Explicação:

  • :g/<patter>/ - executar em qualquer linha que corresponda a <pattern> - . corresponderá a todas as linhas não vazias, ^www\. corresponderia apenas àquelas iniciadas por urls
  • normal d4l - execute d4l no modo normal
por 01.07.2015 / 20:19

Tags