web-dev-qa-db-fra.com

Supprimer 100 lignes de l'éditeur vi à l'aide d'une seule commande

J'utilise Ubuntu et j'essaie de supprimer les 100 lignes de l'éditeur vi mais j'ai eu une question d'interview de le faire dans une seule commande.

35
mayur Mehta

En mode normal, faites

100dd

dd supprime la ligne actuelle. Préface de cette commande avec 100 le fait répéter 100 fois.

S'il y a moins de 100 lignes dans le fichier à partir de la ligne actuelle, selon l'implémentation de vi, il ne réussira pas à en supprimer ou à en supprimer autant qu'il y en a. Dans le cas de vim, cela dépend si l'option cp aka compatible est activée ou non.

65
200_success
  1. supprimer 100 lignes en avant (y compris) de la ligne actuelle

    • répéter dd (supprimer la ligne actuelle) 100 fois:

      100dd
      
    • supprimer de la ligne actuelle à 99 lignes en avant

      d99j
      
  2. supprimer 100 lignes en arrière (y compris) de la ligne actuelle

    d99k
    
  3. supprimer des lignes dans une plage spécifique par numéro de ligne

    :1,100d
    
  4. supprimer des lignes dans une plage commençant par la ligne actuelle

    :.,.+99d
    

etc.

46
Useless

Si toutes les lignes du fichier doivent être supprimées, cette commande vi spécifie la plage de suppression:

:1,$d

1 désigne la première ligne et $ désigne la dernière ligne

8
suspectus

Vous souhaitez supprimer toutes les lignes d'un fichier? Ouvrez le fichier avec vi. Au début de la première ligne - l'emplacement par défaut du curseur lorsque vous venez d'ouvrir le fichier - appuyez sur Esc suivi par dG.

Juste pour noter, l'action d indique supprimer, et G indique la dernière ligne du fichier. Donc, sur n'importe quelle ligne, vous appuyez sur dG, il supprime toute la ligne à partir de la ligne actuelle jusqu'à la dernière.

Si vous savez quelles lignes consécutives supprimer - par exemple, de la ligne 101 à 200 - saisissez les séquences de touches suivantes: Esc:11,2d.

3
Barun

Peu importe où vous vous trouvez dans le fichier, vous pouvez faire ggdG

:%d ferait mieux en moins d'appuis sur les touches. Eh bien, en comptant les touches shift et enter, en fait deux pressions de touche de plus que ci-dessus.

Faire quelque chose comme 100dd supprimerait uniquement jusqu'à 100 lignes de l'endroit où vous vous trouvez, et cela peut ne pas supprimer toutes les lignes du fichier, selon votre position de ligne actuelle.

3
vgoff

Esc n dd. n est le nombre de lignes à supprimer de la ligne actuelle, y compris. Appuyez sur le bouton "Echap", puis sur "n" puis sur "dd". Pour mieux comprendre

0
Rida Abid