La gJ
combinación hace esto; de :help gJ
:
Unir [recuento] líneas, con un mínimo de dos líneas. No inserte ni elimine espacios.
Puede volver a vincularlo J
, si desea guardar una pulsación de tecla:
:nnoremap J gJ
Tenga en cuenta que esto no elimina ningún espacio, por lo que si la línea actual termina con un espacio o la siguiente línea comienza con uno o más espacios, se dejarán como están .
Entonces:
Hello
world
Se convierte en:
Hello world
Nosotros podríamos usar Jx
en este caso, entonces será Helloworld
, pero que no funciona en todos los casos; de la ayuda:
Une las líneas resaltadas, con un mínimo de dos líneas. Elimine la sangría e inserte hasta dos espacios
[...]
Estos comandos, excepto "gJ", insertan un espacio en lugar del a menos que haya un espacio en blanco al final o la siguiente línea comienza con un ')'.
Entonces, en algunos casos, se inserta más de un espacio o ningún espacio. Hasta donde puedo ver, no hay una manera fácil de cambiar este comportamiento; Creé una función para modificar gJ
para unir siempre sin espacios:
" 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>
Ver también: :help J
,:help 'joinspaces'