Comment supprimer jusqu'à la fin de la ligne précédente?

8

Un exemple (Le ^est la position du curseur):

Avant:

a bc def ghi
j k l mn o p q rs
      ^

Après:

a bc def ghimn o p q rs
            ^

ou au moins:

a bc def ghimn o p q rs
           ^

Je sais que je peux l'utiliser d0i<BS>, mais je veux un moyen plus rapide de le faire et je veux rester en mode commande. Je suis un débutant à Vim et je pense que la réponse est peut-être une modification de kA.

Merci beaucoup! :-)

silviubogan
la source
1
Si c'est quelque chose que vous faites fréquemment, vous devriez envisager d'écrire votre propre mappage pour cela, peut-être quelque chose comme <Leader>dk.
Kyle Strand du

Réponses:

9

Essayer d0kJx

Supprime en arrière au début de la ligne, monte, puis joint les deux lignes, puis supprime l'espace entre les deux lignes jointes.

Vous n'avez pas à quitter le mode normal avec cela.

Bryan Glazer
la source
2
C'est la seule réponse à ce jour que (1) ne modifie pas l'historique de recherche ou modifie la surbrillance actuelle et (2) ne supprime pas le m.
Kyle Strand du
12

Eh bien, vous pouvez combiner le mouvement de "recherche vers l'arrière" et l' deleteopérateur:

d?$<Enter>
VanLaser
la source
En .vimrc, j'ai ceci: set hlsearchet d?$<Enter>fait ce que j'ai demandé, mais il met également en évidence toutes les fins de ligne dans le fichier, je dois donc taper :nohaprès cela pour supprimer la surbrillance. Y a-t-il un moyen d'éviter cela? Je vous remercie! :-)
silviubogan du
1
Il y a probablement, ce que je fais est simplement "surcharge" <C-l>en mode normal:, nnoremap <silent><C-l> :nohlsearch<cr>:set nolist<cr>:redraw!<cr>puis utilisez-le en cas de besoin (c'est-à-dire dans des cas tels que ci-dessus).
VanLaser
3

Avec mode visuel: hvk$d

Explication
h - Déplacer un vers la gauche
v- Démarrer le mode visuel
k$- Déplacer vers la fin de la ligne précédente
d- Supprimer la sélection

Karl Yngve Lervåg
la source
Avec le curseur sur m, peut hvk$d- être ? (pour éviter de le sélectionner)
VanLaser
1
Ah oui. Mise à jour maintenant.
Karl Yngve Lervåg