Sự gJ
kết hợp làm điều này; từ :help gJ
:
Tham gia [đếm] dòng, với tối thiểu hai dòng. Không chèn hoặc xóa bất kỳ khoảng trắng.
Bạn có thể buộc nó lại J
, nếu bạn muốn lưu tổ hợp phím:
:nnoremap J gJ
Lưu ý rằng điều này không xóa bất kỳ khoảng trắng nào, vì vậy nếu dòng hiện tại kết thúc bằng khoảng trắng hoặc dòng tiếp theo bắt đầu bằng một hoặc nhiều khoảng trắng, chúng sẽ được giữ nguyên .
Vì thế:
Hello
world
Trở thành:
Hello world
Chúng ta có thể sử dụng Jx
trong trường hợp này, sau đó sẽ được Helloworld
, nhưng nó sẽ không hoạt động trong mọi trường hợp; từ sự giúp đỡ:
Tham gia các dòng được tô sáng, với tối thiểu hai dòng. Xóa thụt lề và chèn tối đa hai khoảng trắng
[...]
Các lệnh này, ngoại trừ "gJ", chèn một khoảng trắng vào vị trí trừ khi có khoảng trắng ở cuối hoặc dòng tiếp theo bắt đầu bằng dấu ')'.
Vì vậy, trong một số trường hợp, nhiều hơn một khoảng trắng hoặc không có khoảng trắng được chèn vào. Theo như tôi có thể thấy, không có cách nào dễ dàng để thay đổi hành vi này; Tôi đã tạo một hàm để sửa đổi gJ
để luôn tham gia mà không có khoảng trắng:
" 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>
Xem thêm: :help J
,:help 'joinspaces'