gJ
Kombinacja 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ć Jx
w 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, gJ
aby 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'