GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser des marqueurs et effectuer une sélection de texte dans Vim

Lorsque vous utilisez des éditeurs de texte/code source basés sur une interface graphique, certaines fonctionnalités sont évidentes, telles que la sélection de texte. Je veux dire, la plupart d'entre nous ne considéreront même plus cela comme une fonctionnalité. Mais ce n'est pas le cas avec les éditeurs basés sur la ligne de commande comme Vim. Spécifiquement pour Vim, lorsque vous n'utilisez que le clavier, vous devrez apprendre certaines commandes afin de sélectionner le texte comme vous le souhaitez. Dans ce didacticiel, nous discuterons en détail de cette fonctionnalité ainsi que de la fonctionnalité "marques" de Vim.

But before we start doing that, it's worth mentioning that all the examples, commands, and instructions mentioned in this tutorial have been tested on Ubuntu 16.04, and the Vim version we've used is 7.4.

En supposant que vous ayez les connaissances de base sur l'éditeur Vim (Non ? Pas de problème, rendez-vous ici), vous sauriez que la commande 'd' vous permet de couper/supprimer une ligne. Mais que se passe-t-il si vous voulez couper, disons, 3 lignes ? Votre réponse pourrait être :"répétez la commande trois fois". D'accord, mais que se passe-t-il si l'exigence est de couper un paragraphe complet (ou, disons, deux d'entre eux) ? Compter d'abord manuellement le nombre de lignes puis exécuter la commande 'd' (même si vous utilisez '[n]dd') est-il une solution pratique ?

Non ce n'est pas. Une meilleure solution, dans ce cas, serait de sélectionner les lignes que vous souhaitez couper/supprimer, puis d'exécuter la commande 'd' une seule fois. Voici un exemple :

Supposons que je souhaite couper/supprimer le premier paragraphe complet de la section INTRODUCTION illustrée dans la capture d'écran ci-dessous :

Donc, ce que je vais faire, c'est amener le curseur au début de la première ligne et (en m'assurant que je suis hors du mode Insertion) taper la commande 'V' (Maj+v). Cela entraînera la sélection de la première ligne et Vim activera le mode Visual Line.

Maintenant, tout ce que j'ai à faire est d'utiliser la touche fléchée vers le bas pour sélectionner tout le paragraphe.

C'est donc ce que nous voulions, n'est-ce pas ? Maintenant, appuyez simplement sur 'd' et le paragraphe sélectionné sera coupé/supprimé. Inutile de dire qu'à part couper/supprimer, vous pouvez effectuer n'importe quelle autre option sur le texte sélectionné.

Cela nous amène à un autre aspect important :pas à chaque fois que nous devons supprimer la ou les lignes complètes; que faire dans ces cas ? Cela signifie que la solution dont nous venons de discuter ne fonctionne que lorsque vous souhaitez effectuer une opération sur une ou plusieurs lignes complètes. Que se passe-t-il si l'exigence est de supprimer les trois premières phrases d'un paragraphe ?

Eh bien, il existe également une commande pour cela - utilisez simplement 'v' au lieu de 'V' (sans les guillemets simples bien sûr). Voici un exemple dans lequel j'ai utilisé 'v' puis sélectionné les trois premières phrases du paragraphe :

Ensuite, les données que vous traitez sont parfois constituées de colonnes séparées et il peut être nécessaire de sélectionner une colonne particulière. Prenons par exemple la capture d'écran suivante :

Supposons que l'exigence consiste à sélectionner uniquement le nom des pays, c'est-à-dire la deuxième colonne du texte. Donc, ce que vous pouvez faire dans ce cas, c'est amener votre curseur sous le premier élément de la colonne en question et appuyer une fois sur Ctrl+v. Maintenant, à l'aide de la flèche vers le bas, sélectionnez la première lettre de chaque nom de pays :

Et puis à l'aide de la touche fléchée droite, sélectionnez la colonne complète, ou les noms entiers.

Astuce  :Si vous avez désélectionné un bloc de texte pour une raison quelconque et que vous souhaitez maintenant le sélectionner à nouveau, appuyez simplement sur "gv" en mode commande.

Parfois, tout en travaillant sur un fichier volumineux (par exemple, un fichier de code source ou un script shell), vous souhaiterez peut-être basculer vers un emplacement particulier, puis revenir à la ligne où vous vous trouviez à l'origine. Ce n'est pas un problème si les lignes en question ne sont pas éloignées ou si vous devez le faire de temps en temps.

Mais qu'est-ce que c'est dans l'autre sens - vous devez fréquemment sauter entre votre emplacement actuel et diverses lignes éloignées dans le fichier. Eh bien, la solution dans ce cas est d'utiliser des marques. Marquez simplement votre emplacement actuel, puis revenez à cet emplacement depuis n'importe où dans le fichier en mentionnant simplement le nom de la marque.

Pour marquer une ligne dans vim, utilisez le m commande suivie d'un alphabet qui représente le nom de la marque (les options disponibles sont a-z en minuscules). Par exemple, maman . Maintenant, pour revenir à la marque a , utilisez le 'a commande (guillemets simples inclus).

Astuce :Vous pouvez utiliser l'apostrophe (' ) ou backtick (`) depending on whether you want to jump to the beginning of the marked line, or specifically to la ligne et la colonne de la marque.

Il peut y avoir diverses autres applications utiles des marqueurs Vim. Par exemple, vous pouvez mettre une marque sur une ligne, puis aller sur une autre ligne et exécuter la commande suivante :

d'[mark-name]

pour supprimer tout ce qui se trouve entre votre position actuelle et la ligne marquée.

Passons à autre chose, voici une annonce importante de la documentation officielle de Vim :

Each file has a set of marks identified by lowercase letters (a-z). In addition there is a global set of marks identified by uppercase letters (A-Z) that identify a position within a particular file. For example, you may be editing ten files. Each file could have mark a, but only one file can have mark A

Ainsi, alors que nous avons discuté de l'utilisation de base des alphabets minuscules comme marques Vim, comment et où les lettres majuscules sont utiles. Eh bien, l'extrait suivant le rend amplement clair :

Because of their limitations, uppercase marks may at first glance seem less versatile than their lowercase counterpart, but this feature allows them to be used as a quick sort of "file bookmark." For example, open your .vimrc, press mV, and close Vim. The next time you want to edit your .vimrc, just press 'V to open it. 

Et enfin, pour supprimer une marque, utilisez la commande 'delmarks'. Par exemple :

:delmarks a

La commande susmentionnée supprimera la marque a du dossier. Bien sûr, si vous supprimez une ligne contenant une marque, cette marque est également supprimée automatiquement. Pour plus d'informations sur les marques, rendez-vous dans la documentation de Vim.

Lorsque vous commencez à utiliser Vim comme éditeur principal, des fonctionnalités telles que celles expliquées dans ce didacticiel deviennent des outils utiles qui vous font gagner beaucoup de temps. Comme vous en conviendrez, il n'y a pas beaucoup de courbe d'apprentissage impliquée dans les fonctionnalités de sélection et de notation expliquées ici - tout ce qui est requis est un peu de pratique.

Pour la couverture complète des articles liés à Vim sur HowtoForge, rendez-vous ici.


Linux
  1. Comment installer et utiliser le gestionnaire de plugins Vim-plug sous Linux

  2. Comment installer Vim (vi) sur Windows 10

  3. Comment insérer du texte au début de chaque ligne dans Vim

  4. Comment installer et utiliser l'outil de ligne de commande Mosh Linux

  5. Comment ajouter une ligne d'en-tête et de fin à un fichier sous Linux

Comment installer et utiliser l'éditeur Vim sous Linux

Comment installer et utiliser Nano Editor sur Ubuntu 20.04

Comment utiliser Ansible pour configurer Vim

Comment installer et utiliser Sublime Text 4 sous Linux

Comment rechercher et remplacer du texte dans Vim

Schémas de couleurs dans Vim :comment les modifier et les utiliser