Quero adicionar *ao final de cada linha no Vim.
Eu tentei o código sem sucesso
:%s/\n/*\n/g
Quero adicionar *ao final de cada linha no Vim.
Eu tentei o código sem sucesso
:%s/\n/*\n/g
Respostas:
:%s/$/\*/g
Deveria trabalhar. Assim :%s/$/*/gcomo MrWiggles aponta corretamente.
gsinalizador é desnecessário.
Ainda mais curto que o comando: search:
:%norm A*
Isto é o que significa:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
I*vez de 0i*, poupará um pressionamento de tecla.
:, este irá pré-preencher o comando com :'<,'>o qual você pode então fazer para:'<,'>norm A*
Iem vez disso -:%norm I*
Além disso:
:g/$/norm A*
Além disso:
gg<Ctrl-v>G$A*<Esc>
gé um globalcomando que faz algo com todas as linhas correspondentes. $corresponde a todas as linhas. Pode ser também ^ou .*. A norma executa comandos que você normalmente usa no modo de comando. Então, A*significa acrescentar *ao final da linha.
Eu acho que usar o modo de bloqueio visual é um método melhor e mais versátil para lidar com esse tipo de coisa. Aqui está um exemplo:
This is the First line.
This is the second.
The third.
Para inserir "Olá, mundo". (espaço + área de transferência) no final de cada uma destas linhas:
O resultado é:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(exemplo de Vim.Wikia.com )
jjpode-se pressionar Gpara ir para a última linha. Isso é útil em arquivos grandes, onde pressionar jaté chegar à última linha não é prático.
Você realmente não precisa gdo final. Então se torna:
:%s/$/*
Ou se você quiser apenas *o final de, diga as linhas 14-18:
:14,18s/$/*
ou
:14,18norm A*
... e para acrescentar (adicionar o início de) cada linha com *,
%s/^/*/g
Uma opção é:
:g/$/s//*
Isso encontrará todas as âncoras de extremidade da linha e a substituirá *. Eu digo "substituto", mas, na verdade, é mais um acréscimo, já que a âncora é uma coisa especial e não um personagem comum. Para mais informações, consulte Poder de g - Exemplos .
:% s / \ n / * \ r / g
Seu primeiro está correto em qualquer outro lugar, mas o Vim precisa ter um tratamento de nova linha diferente por algum motivo.
:s///,\ncorresponde a um caractere nulo. A seção:help sub-replace-specialé relevante.