gJKombinacja to robi; z :help gJ:
Połącz [zlicz] linie z co najmniej dwoma liniami. Nie wstawiaj ani nie usuwaj spacji.
Możesz powiązać go ponownie J, jeśli chcesz zapisać naciśnięcie klawisza:
:nnoremap J gJ
Zauważ, że to nie usuwa żadnych spacji, więc jeśli bieżąca linia kończy się spacją lub następna linia zaczyna się od jednej lub więcej spacji, pozostaną one bez zmian .
Więc:
Hello
world
Staje się:
Hello world
My mogliśmy użyć Jxw tym przypadku, to będzie Helloworld, ale to nie będzie działać we wszystkich przypadkach; z pomocy:
Połącz podświetlone linie z co najmniej dwoma liniami. Usuń wcięcie i wstaw maksymalnie dwa spacje
[...]
Te polecenia, oprócz „gJ”, wstawiają jedną spację w miejsce, chyba że występują końcowe białe spacje lub następny wiersz zaczyna się od „)”.
Tak więc w niektórych przypadkach wstawiana jest więcej niż jedna spacja lub brak spacji. O ile widzę, nie ma łatwego sposobu na zmianę tego zachowania; Stworzyłem funkcję do modyfikacji, gJaby zawsze łączyć bez spacji:
" 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>
Zobacz również: :help J,:help 'joinspaces'