So che questi comandi in Vim:Come faccio a unire la linea sopra dopo la linea corrente?
J: unire la linea di sotto dopo riga corrente
-J: unire la linea di corrente dopo riga sopra
ma come faccio unisco la riga sopra dopo la corrente linea?
So che questi comandi in Vim:Come faccio a unire la linea sopra dopo la linea corrente?
J: unire la linea di sotto dopo riga corrente
-J: unire la linea di corrente dopo riga sopra
ma come faccio unisco la riga sopra dopo la corrente linea?
Ci sono molti modi per farlo. Uno potrebbe essere ... cancellando la linea di cui sopra e aggiungendo alla fine della linea di seguito:
k move up one line
^ move to the first printable character
y$ yank to the end of the line
"_d get rid of the now useless line by deleting it into the black hole register
$ move to the end of the line
p put the deleted text
Sarebbe più semplice scambiare le righe e poi 'J'oin (come [@WilliamPursell suggerisce] (http://stackoverflow.com/questions/13609736/how-do-i-join-the-line-above -Dopo-corrente-line # comment18659642_13609736)). – bitmask
Sì, lo so. Ho optato per un approccio "letterale". Verrei anche io con il metodo di William Pursell. – romainl
Si noti che 'J' gestisce gli spazi in modo diverso da un join letterale. Cioè, se uno vuole i risultati che sarebbero prodotti da 'J',' k^d $ k $ p' farebbe qualcosa di diverso! – bitmask
È inoltre possibile utilizzare l'ex comando di
:m-2|j
m-2
ha l'effetto di spostare il linea corrente a 2 linee sopra la sua posizione corrente; questo cambia la posizione della linea corrente e la linea sopra.j
unisce la riga corrente e la riga sopra, inserendo uno spazio tra i due. Utilizzare j!
se non si desidera lo spazio.|
separa i 2 ex-comandiQuesto ex-comando è un breve modo di scrivere quanto segue
:move .-2
:join
'kddpkJ' .......? –
Per salvare una sequenza di tasti, 'ddkPJ'. E se fai molti scambi di linee, considera la possibilità di creare [mappature come in questo suggerimento] (http://vim.wikia.com/wiki/VimTip646#Mappings_to_move_lines). –