La gJ
combinaison fait ceci; de :help gJ
:
Joindre [compter] lignes, avec un minimum de deux lignes. Ne pas insérer ou supprimer des espaces.
J
Si vous souhaitez enregistrer une frappe, vous pouvez le réassocier :
:nnoremap J gJ
Notez que cela ne supprime aucun espace. Ainsi, si la ligne en cours se termine par un espace ou si la ligne suivante commence par un ou plusieurs espaces, elles seront laissées telles quelles .
Alors:
Hello
world
Devient:
Hello world
Nous pourrions utiliser Jx
dans ce cas, alors ce sera le cas Helloworld
, mais cela ne fonctionnera pas dans tous les cas; de l'aide:
Joignez les lignes en surbrillance, avec un minimum de deux lignes. Supprimer le retrait et insérer jusqu'à deux espaces
[...]
Ces commandes, sauf "gJ", insèrent un espace à la place de sauf s'il y a un espace blanc final ou que la ligne suivante commence par un ')'.
Ainsi, dans certains cas, plus d'un espace ou aucun espace n'est inséré. Autant que je sache, il n’ya pas de moyen facile de changer ce comportement; J'ai créé une fonction à modifier gJ
pour toujours rejoindre sans espaces:
" 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>
Voir aussi: :help J
,:help 'joinspaces'