2009-04-02 12 views

risposta

17

Utilizzare la codifica "fuga":

:s/\(word\)/\1\r/ 

per pattern whitespace fughe Vedere la documentazione di Vim.

+1

Devi usare \ r per le sostituzioni, non \ n; vedi http://stackoverflow.com/questions/350661/vim-n-vs-r –

+0

Modificato per aggiungere il link doc e rimuovere \ n – dwc

+0

Ahh ... questo è il tipo di pagina di documentazione che mi fa saltare la lettura e NON apprendere nuove cose. Lo leggerò ...mmhh domani :) – OscarRyz

9
:s/\(word\)/\1\r/ 

In alternativa, utilizzare Ctrl+V o Ctrl+Q per citare (fuga) la chiave Enter:

:s/\(word\)\1^QENTER/ 

Dove ^Q è Ctrl+Q e ENTER è il tasto Invio.

Chiarimento: A seconda dell'installazione, sia^Q o ^V dovrebbe funzionare. Il carattere quotante differisce su alcune piattaforme.

(Questo ha l'utile effetto collaterale di inserire il carattere appropriato end-of-line per qualsiasi piattaforma che si sta utilizzando, eliminando la CRvsLFvs.CRLF problema.)

+0

Ho sempre usato^v . Appena controllato con un terminale gnome su debian e vim 7.1 e^q non funziona. –

+0

uuh? Ctrl + V ha aggiunto la parola "INVIO" in tutto il luogo: -/Ctrl + Q + VK_ENTER ha funzionato perfettamente – OscarRyz

+0

@Oscar: il preventivo potrebbe differire da piattaforma a piattaforma. O^V o^Q (ma probabilmente non entrambi) dovrebbe funzionare. –

0

Solo a scopo di chiarimento, ora che stiamo parlando di ritorno a capo, va notato che i tasti INVIO e INVIO non sono gli stessi, o sarebbe più corretto dire che non dovrebbero essere gli stessi.

Non ho usato una tastiera desktop da un po 'di tempo, ma il tasto INVIO è solitamente quello in basso a destra, mentre il tasto INVIO è il più grande nel mezzo.

Il tasto RETURN è quello che deve essere utilizzato per immettere un ritorno a capo, mentre il tasto INVIO è quello che deve essere utilizzato per immettere i comandi. Ricordo un vecchio editore DOS EDT, in cui il tasto RETURN era per newline e il tasto ENTER era per dare comandi. Non è possibile dare un comando con RETURN. Penso che ENTER abbia anche dato^1 (avanzamento riga).

Oggi quella differenza è un po 'persa, anche se io, di tanto in tanto, mi imbatto in un editor che lo rispetta.

2 esempi: One, two e uno ancora più evidenti three

+0

Non l'ho capito. Potresti postare qualche schema/screenshot per chiarire questo punto? – OscarRyz

+0

Sta dicendo che tradizionalmente il tasto invio sulla tastiera è chiamato "INVIO" e quello sulla tastiera principale (accanto a destra) è chiamato "RETURN". I programmi utilizzati spesso li trattano in modo diverso. ldigas: dai un'occhiata alla tastiera del desktop, sono quasi sempre * entrambi * etichettati INVIO in questi giorni. – gravious

+0

@Gravious: ho capito. Non ricordo queste diverse etichette. Sto usando un laptop da un po 'di tempo e sto cercando di fare una foto dell'ultima tastiera del desktop che ho usato ..... mmmmhh no, sono entrambi etichettati come ENTER nella mia mente ... :) – OscarRyz

Problemi correlati