Vim: moyen plus rapide de sélectionner des blocs de texte en mode visuel

J’utilise vim depuis un certain temps et je suis conscient que la sélection de blocs de texte en mode visuel est aussi simple que SHIFT + V et que le déplacement de la touche fléchée vers le haut ou le bas se poursuit jusqu’à la fin du bloc de texte. que je veux sélectionné

Ma question est la suivante: existe-t-il un moyen plus rapide en mode visuel de sélectionner un bloc de texte, par exemple, par MAJ + V suivi de la spécification du numéro de ligne dans lequel je souhaite que la sélection s’arrête? (via :35 par exemple, où 35 est le numéro de la ligne que je veux sélectionner – cela ne fonctionne évidemment pas, donc ma question est de savoir comment faire si quelque chose de similaire peut être fait …)

En plus de ce que d’autres ont dit, vous pouvez également élargir votre sélection en utilisant des recherches de motifs.

Par exemple, v / f o o sélectionnera votre position actuelle à l’instance suivante de “foo”. Par exemple, si vous voulez réellement développer l’instance suivante de “foo” sur la ligne 35, appuyez simplement sur n pour étendre la sélection à l’instance suivante, et ainsi de suite.

mettre à jour

Je ne le fais pas souvent, mais je sais que certaines personnes utilisent beaucoup les marques pour effectuer des sélections visuelles. Par exemple, si je suis à la ligne 5 et que je souhaite sélectionner la ligne 35, je peux appuyer sur m a pour placer a marque sur la ligne 5, puis : 3 5 pour passer à la ligne 35. Maj + v pour passer en mode visuel linéaire , et enfin ` a pour revenir à la marque a .

 G Goto line [count], default last line, on the first non-blank character linewise. If 'startofline' not set, keep the same column. G is a one of jump-motions. 

V35G réalise ce que vous voulez

Vim est une langue. Pour vraiment comprendre Vim, il faut connaître la langue. De nombreuses commandes sont des verbes et vim a également des objects et des prépositions.

 V100G V100gg 

Cela signifie “sélectionner la ligne en cours jusqu’à la ligne 100 incluse”.

Les objects texte sont là où se trouve une grande partie de la puissance. Ils introduisent plus d’objects avec des prépositions.

 Vap 

Cela signifie “sélectionner autour du paragraphe actuel”, c’est-à-dire sélectionner le paragraphe actuel et la ligne vide qui le suit.

 V2ap 

Cela signifie “sélectionner autour du paragraphe actuel et du paragraphe suivant”.

 }V-2ap 

Cela signifie “aller à la fin du paragraphe en cours et ensuite le sélectionner visuellement et le paragraphe précédent.”

Comprendre Vim comme langage vous aidera à en tirer le meilleur parti.

Après avoir sélectionné, vous pouvez combiner avec d’autres commandes:

 Vapd 

Avec la commande ci-dessus, vous pouvez sélectionner un paragraphe et le supprimer. Changez le d en un y pour copier ou pour un c pour changer ou pour un p pour coller.

Une fois que vous maîsortingserez le fonctionnement de toutes ces commandes, vous n’aurez finalement plus besoin de sélectionner quoi que ce soit. Au lieu de sélectionner et de supprimer visuellement un paragraphe, vous pouvez simplement supprimer le paragraphe avec la commande dap .

v35G sélectionnera tout du curseur jusqu’à la ligne 35.

v vous met en mode sélection, 35 spécifie le numéro de la ligne que vous souhaitez utiliser.

Vous pouvez également utiliser v} qui sélectionnera tout jusqu’au début du paragraphe suivant.

Pour sélectionner le nombre de lignes:

shift + v 9j – sélectionne 10 lignes

v 35 j

texte ajouté pour 30 caractères minimum

Shift+V nj ou Shift+V nk

Ceci sélectionne la ligne actuelle et les n lignes suivantes / précédentes. Je trouve cela très utile.

v%

sélectionnera le bloc entier.

Jouez avec aussi:

v} , vp , vs , etc.

Voir l’aide:

:help text-objects

qui répertorie les différentes manières de sélectionner des lettres, des mots, des phrases, des paragraphes, des blocs, etc.

Vous pouvez toujours utiliser des numéros antécédents pour répéter des actions:

  • En mode visuel, tapez 3 5 et le curseur descend 35 fois, en sélectionnant les 35 lignes suivantes
  • En mode normal:
    • supprimer 35 lignes 3 5 d d
    • coller 35 fois 3 5 p
    • annuler 35 changements 3 5 u
    • etc.

Vous pouvez appuyer sur vi} pour sélectionner le bloc entouré de crochets {} où se trouve actuellement votre curseur.

Peu importe où vous êtes à l’intérieur de ce bloc (assurez-vous que vous êtes dans le bloc le plus à l’extérieur). Vous pouvez également changer { à tout ce qui a une paire comme ) ou ] .

} signifie déplacer le curseur au paragraphe suivant. utilisez donc v} pour sélectionner un paragraphe entier.

Pour sélectionner tout en visuel: Tapez Echap pour vous assurer que vous êtes en mode normal

 :0 

tapez ENTER pour aller au début du fichier

 vG 

Il pourrait être utile de savoir:

Par exemple, pour sélectionner la même quantité de lignes, utilisez 1v Vous devriez avoir apporté quelques modifications pour pouvoir utiliser 1v , en mode bloc ou en ligne.

Aujourd’hui, j’ai vu cette astuce incroyable:

  :5mark < | 10mark > | normal gvV :5mark < | 10mark > | normal gv 

Vous pouvez également réinitialiser les limites du bloc visuel en procédant comme suit:

 m< .......... sets the visual mode start point m> .......... sets the visual mode end point