Je veux pouvoir supprimer le reste de la ligne sur laquelle je commence à la position du curseur dans VIM. Y at-il une commande facile à faire?
Pour aider à illustrer, ceci est avant la commande.
The quick brown dog jumps over the lazy fox.
^
|----- Cursor is here.
C'est après la commande
The q
^
|----- Cursor is here.
(Edité pour inclure les bons ajouts du commentateur :)
D
ou son équivalent d$
supprimera le reste de la ligne et vous laissera en mode commande. C
ou c$
supprimera le reste de la ligne et vous mettra en mode insertion. Un nouveau texte sera ajouté à la ligne.
Cela fait partie de vitutor
et vimtutor
, d'excellentes "lectures" pour les débutants de vim.
Utilisation D. Voir docs pour plus d'informations.
Vous pourriez aussi être intéressé par C, il supprimera également la fin de ligne comme D, mais en plus cela vous mettra en mode Insertion à l’emplacement du curseur.
Exécuter en mode commande d$
.
Presse ESC aller d'abord dans command mode
. Puis appuyez Shift+D.
C'est une question très ancienne, mais comme VIM, il convient de clarifier quelque chose.
Toutes les réponses et tous les commentaires d’ici à octobre 2018 ont fait référence à ce que l’on appelle communément une action "coupée". Par conséquent, leur utilisation remplace tout ce qui se trouve actuellement dans le registre non nommé de VIM . Ce registre a tendance à être traité comme un presse-papiers copier/coller par défaut, donc aucune de ces réponses ne fonctionnera comme vous le souhaitez si vous supprimez le reste d'une ligne pour coller quelque chose au même endroit par la suite, car tout ce qui vient d'être supprimé sera collé. à la place de tout ce qui a été tiré auparavant.
La vraie commande de suppression dans le contexte de l'OP est "_D
(ou "_C
si le mode insertion est souhaité). Le contenu supprimé est envoyé dans le registre de trous noirs , désigné par "_
, où cela ne dérangera plus personne (même si vous pouvez toujours annuler cette action en utilisant u
).
Ceci étant dit, tout ce qui a été extrait en dernier est stocké dans le registre 0 , et même s'il est remplacé dans le registre sans nom, il peut toujours être collé à l'aide de "0p
.
En savoir plus sur le registre des trous noirs et registres en général pour un plaisir supplémentaire VIM!
D
ou dd
supprime et copie la ligne dans le registre. Vous pouvez utiliser Vx
qui supprime uniquement la ligne et reste en mode normal.