La gJcombinazione 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 Jxin 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 gJper 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'