Voglio aggiungere *alla fine di ogni riga in Vim.
Ho provato il codice senza successo
:%s/\n/*\n/g
Voglio aggiungere *alla fine di ogni riga in Vim.
Ho provato il codice senza successo
:%s/\n/*\n/g
Risposte:
:%s/$/\*/g
dovrebbe funzionare. Così dovrebbe, :%s/$/*/gcome sottolinea correttamente MrWiggles .
gbandiera non è necessaria.
Anche più breve del comando: search:
:%norm A*
Questo è ciò che significa:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
I*piuttosto che 0i*ti salverà una sequenza di tasti.
:, questo pre-riempirà il comando con il :'<,'>quale è possibile effettuare:'<,'>norm A*
Iinvece -:%norm I*
Anche:
:g/$/norm A*
Anche:
gg<Ctrl-v>G$A*<Esc>
gè un globalcomando che fa qualcosa con ogni riga corrispondente. $corrisponde a ogni riga. Potrebbe anche essere ^o .*. norm esegue i comandi che normalmente si utilizzano in modalità comando. Quindi A*significa aggiungere *alla fine della riga.
Penso che usare la modalità di blocco visivo sia un metodo migliore e più versatile per affrontare questo tipo di cose. Ecco un esempio:
This is the First line.
This is the second.
The third.
Per inserire "Hello world". (spazio + appunti) alla fine di ciascuna di queste righe:
Il risultato è:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(esempio da Vim.Wikia.com )
jjpuoi premere Gper spostarti sull'ultima riga. Ciò è utile in file di grandi dimensioni, dove jnon è pratico premere fino a quando non si preme l'ultima riga.
gAlla fine non ti serve davvero . Quindi diventa:
:%s/$/*
O se vuoi solo il *alla fine di, dire le righe 14-18:
:14,18s/$/*
o
:14,18norm A*
... e per anteporre (aggiungere l'inizio di) ogni riga con *,
%s/^/*/g
Un'opzione è:
:g/$/s//*
Questo troverà ogni ancoraggio di fine linea e lo sostituirà con *. Dico "sostituto" ma, in realtà, è più un'appendice poiché l'ancoraggio è una cosa speciale piuttosto che un personaggio normale. Per ulteriori informazioni, consultare Potenza di g - Esempi .
:% S / \ n / * \ r / g
Il tuo primo è corretto altrove, ma Vim deve avere una gestione newline diversa per qualche motivo.
:s///,\ncorrisponde ad un carattere nullo. La sezione:help sub-replace-specialè rilevante.