2010-09-08 6 views
9

Come mai in Vi, quando raggiungo lo $, si passa all'ultimo carattere della linea anziché alla fine del carattere di linea? Come potrei andare alla fine del carattere di linea in un tasto, e qual è il modo più veloce per cancellare il carattere di fine riga?Spostare il carattere di fine riga in Vi, oltre l'ultimo carattere nella riga

+0

Intendi la nuova linea? –

+5

Se si intende la nuova riga, sembra che si voglia unire le linee. Colpire J in qualsiasi punto della linea cancellerà la nuova riga. – michaeltwofish

+0

@Michealtwofish: Avresti dovuto postare questa risposta come risposta ... – sum1stolemyname

risposta

9

Come mai in Vi, quando ho colpito $, va a l'ultimo carattere in linea invece del carattere di fine riga?

Perché è sufficiente per tutto ciò che si potrebbe desiderare di raggiungere.

Come potrei fare alla fine del personaggio linea in una sequenza di tasti

Che, fondamentalmente, non è necessario. Devi solo fare cose diverse nel passaggio successivo a seconda di ciò che volevi ottenere andando al carattere di nuova riga. Es .:

qual è il modo più veloce per eliminare il carattere di fine riga?

appena colpito J-j oin le linee. (Se hai autoindent o amici abilitati, questo si occuperà anche di rimuovere i rientri dalla linea unita per te.) Segui un x se non vuoi il carattere di spazio extra che hai appena ricevuto; oppure utilizzare gJ per iniziare, invece.

+5

+1: buona spiegazione. Puoi anche usare 'gJ' invece di' Jx' per unire senza uno spazio (ha il vantaggio di essere una singola operazione, quindi '.' ripeterà il join piuttosto che il carattere delete). – DrAl

+0

Ah, bello. Non ero inciampato in quello. Ho modificato la mia risposta in modo corrispondente. –

+0

Non sono d'accordo, perché ho un caso d'uso in cui voglio superare l'ultimo carattere: è fare in modo che una macro si comporti in modo coerente. –