web-dev-qa-db-fra.com

Comment supprimer rapidement une ligne dans VIM à partir de la position du curseur?

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.
256
Anthony

(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.

411
thiton

Utilisation D. Voir docs pour plus d'informations.

40
lucapette

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.

19
Xavier T.

Exécuter en mode commande d$.

8
Robert Munteanu

Presse ESC aller d'abord dans command mode. Puis appuyez Shift+D.

https://www.fprintf.net/vimCheatSheet.html

6
Karl Morrison

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!

4
AFOC

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.

3
Bahman Eslami