102 votes

Vim extraire gamme de lignes

Ceci est mon premier post sur pile, de sorte s'il vous plaît garder avec moi.

Je suis un développeur C# qui a tout récemment décidé d'élargir mes connaissances sur les outils à ma disposition. Le premier outil que j'ai décidé d'apprendre est Vi/Vim. Tout va bien jusqu'à présent, mais il ya un couple de questions que je n'arrive pas à trouver la réponse à:

1) Permet de dire que je voulais tirer un ensemble de lignes. Je sais qu'il y a de nombreuses façons de le faire, mais je voudrais le faire par numéro de ligne. J'ai pensé qu'il serait similaire à la façon dont la substitution des commandes de travail, quelque chose comme 81,91 y. Est-il un moyen de faire cela?

2) je suis un peu confus sur la commande g en mode normal. Il semble faire une multitude de choses et je ne peut pas vraiment déterminer ce que la commande g n'est à sa base. Je suis confus sur si oui ou non c'est une commande de mouvement, ou une sorte de "catch all" pour les autres commandes couru à travers le mode normal. Quelqu'un peut-il m'expliquer ce ou m'indiquer une référence qui donne une bonne explication de la commande g?

Je vous remercie tous à l'avance, c'est une merveilleuse communauté, et je sais que je vais pas être déçu de la réponse.

162voto

hometoast Points 6536

Tirer des lignes 81-91

:81,91y<enter>

Si vos doigts ne sont pas de trouver l' : et , clés, ce serait le travail ainsi (aller à la ligne 81, yank 11 lignes)

81gg11yy 

Ma seule l'utilisation d' g est 5gg. Pour aller à la ligne 5. 22gg: 22 ligne. Comme jimbo a dit, c'est vraiment un modificateur pour d'autres commandes.

Pour être complet, (http://vim.wikia.com/wiki/Power_of_gexplique un beaucoup de la façon dont g fonctionne en mode commande.

15voto

Rob Wells Points 21714

J'aime également utiliser vim relative du numéro de ligne de l'option qui signifie que je peux juste à l'entrée:

:-10,-7ya a

pour copier le texte dans nommé un tampon.

N. B. la Spécification d'Une aura pour effet d'ajouter ce que vous êtes en extraire le contenu actuel de la mémoire tampon d'un.

N'oubliez pas que vous pouvez également copier des blocs de texte et déplacer des blocs de texte autour de aussi bien avec les commandes similaires:

:-10,-7co .

moyen de copier les quatre lignes de texte de 10 lignes au-dessus au-dessous de la ligne courante, et

:-10,-7mo .

signifie déplacer les quatre lignes de texte de 10 lignes au-dessus au-dessous de la ligne courante.

4voto

Jimbo Points 157

g ne fait rien par lui-même. C'est l'un des quelques méta-commandes qui détient un tas de sorta sans rapport avec les commandes.

z est un autre.

2voto

Matthew Slattery Points 21628

Vim est :help index décrit g comme:

|g|             g{char}            extended commands, see |g| below

Faites défiler vers le bas (ou :help g) pour une liste.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X