La gJ
combinazione fa questo; da :help gJ
:
Unisci [conta] linee, con un minimo di due linee. Non inserire o rimuovere spazi.
Si potrebbe ricollegarlo a J
, se si desidera salvare una sequenza di tasti:
:nnoremap J gJ
Nota che questo non rimuove nessuno spazio, quindi se la riga corrente termina con uno spazio o la riga successiva inizia con uno o più spazi, rimarranno così come sono .
Così:
Hello
world
diventa:
Hello world
Abbiamo potuto usare Jx
in questo caso, allora sarà Helloworld
, ma che non funziona in tutti i casi; dall'aiuto:
Unisci le linee evidenziate, con un minimo di due linee. Rimuovere il rientro e inserire fino a due spazi
[...]
Questi comandi, tranne "gJ", inseriscono uno spazio al posto di a meno che non vi sia spazio bianco finale o la riga successiva inizia con un ')'.
Quindi in alcuni casi viene inserito più di uno spazio o nessuno spazio. Per quanto posso vedere, non esiste un modo semplice per modificare questo comportamento; Ho creato una funzione da modificare gJ
per unire sempre senza spazi:
" Like gJ, but always remove spaces
fun! JoinSpaceless()
execute 'normal gJ'
" Character under cursor is whitespace?
if matchstr(getline('.'), '\%' . col('.') . 'c.') =~ '\s'
" When remove it!
execute 'normal dw'
endif
endfun
" Map it to a key
nnoremap <Leader>J :call JoinSpaceless()<CR>
Vedi anche: :help J
,:help 'joinspaces'