GNU/Linux >> Tutoriels Linux >  >> Linux

Top 20 des commandes Linux Vim qui augmentent la productivité

VIM ou le Vi Amélioré L'éditeur de texte est l'un des éditeurs de texte les plus avancés disponibles. Apprenons les 20 meilleures commandes Linux Vim que vous devez connaître pour obtenir des niveaux de productivité incroyables.

N'oubliez pas que l'éditeur de texte VIM a une courbe d'apprentissage assez abrupte. Mais une fois que vous aurez pris le temps de vous habituer aux commandes, vous atteindrez une productivité inégalée dans vos tâches quotidiennes qui nécessitent de travailler avec du texte (éditeur de texte parfait pour les programmeurs !)

Très geek non ? Comprenons l'éditeur et les commandes qu'il contient.

Commandes Linux Vim pour la navigation de base

Avant de commencer, voyons comment nous pouvons naviguer dans l'éditeur VIM. VIM est un éditeur axé sur le clavier, vous devez donc commencer à vous habituer à ne pas toucher la souris pour les tâches de navigation de base.

Clés Action
Flèches
h j k l
Déplacement de base du curseur comme d'habitude
B b
Ww
Reculer et avancer d'un mot à la fois - curseur au début du mot
G Aller à un numéro de ligne spécifié
Ctrl+u
Ctrl+d
Similaire à la touche page haut/bas pendant que le curseur reste à l'écran.
e Avancer d'un mot - curseur à la fin du mot
#
*
Recherchez le mot dans le document sur lequel se trouve actuellement votre curseur.
n
N
Répète la dernière recherche commande

Découvrez les meilleures commandes et fonctionnalités de Linux Vim

L'éditeur VIM est non seulement flexible et complet, mais aussi très intuitif et "intelligent" lorsqu'il s'agit de comprendre le code qui est écrit.

Mais si cela ne vous dérange pas de passer votre temps à déplacer le curseur de la souris pour pointer et cliquer sur des choses, il n'y a aucune raison pour que vous considériez VIM. Cet éditeur de texte est destiné aux programmeurs et aux geeks qui aiment vraiment tout faire, ignorer la souris pour de bon et tout faire avec le clavier.

Le problème avec VIM, c'est que si cela peut être fait avec une souris dans d'autres éditeurs de texte, cela peut être fait uniquement avec le clavier dans VIM.

1. Travailler avec plusieurs fichiers dans Vim

La plupart d'entre nous, les programmeurs, sommes habitués à travailler avec plusieurs fichiers en même temps. Nos éditeurs de texte GUI nous donnent des onglets qui permettent de basculer entre les fichiers tout en restant ouverts simultanément. Même s'il existe quelques raccourcis clavier pour jouer avec ces onglets, ce n'est rien comparé à ce que VIM peut faire.

:tabedit <tab key to scroll through files in directory>

La meilleure partie? Vous ne touchez pas du tout la souris. Comment se déplace-t-on dans les fichiers ? Avec gt ou gT pour basculer les onglets vers l'avant ou vers l'arrière respectivement. Aussi :tabfirst et  :tablast vous permettra de passer du premier au dernier onglet actuellement ouvert.

Mais si vous voulez ouvrir tous les fichiers directement au démarrage, tapez simplement :

vim -p source_file1.py source_file2.py source_file3.py 

2. Enregistrer et ouvrir des sessions d'onglets dans VIM

Très bien, alors maintenant vous avez ouvert une tonne de fichiers dans des onglets et vous avez également déplacé les modifications apportées aux fichiers. Mais avez-vous remarqué que vous devez toujours ouvrir les fichiers chaque fois que vous voulez les avoir dans les onglets ?

Et s'il existait un moyen d'enregistrer les fichiers ouverts tels quels et de simplement les déplacer ?

C'est exactement à cela que servent les sessions VIM. Lorsque vous travaillez avec plusieurs fichiers dans VIM, il est préférable d'enregistrer une session VIM afin que la prochaine fois que vous ouvrez le fichier de session, tout revienne exactement comme vous l'avez laissé.

Comment créer une session VIM ? Vous sortez d'abord du mode insertion en appuyant sur Esc clé. Entrez ensuite la commande ci-dessous.

:mksession <Session Name>.vim

Désormais, la prochaine fois que vous voudrez ouvrir la session, vous pourrez l'ouvrir directement depuis le terminal en tapant :

vim -S <Session Name>.vim

Ou si vous voulez ouvrir un fichier de session dans VIM, tapez simplement :

:source <Session Name>.vim

3. Texte de saisie semi-automatique dans VIM

Vous pensez que VIM ne peut pas être comparé aux fonctionnalités de saisie semi-automatique d'autres IDE ou éditeurs de texte ? Bon, essaie donc. Même s'il n'utilise pas d'intelligence artificielle ou d'algorithmes d'apprentissage automatique pour soutenir cette fonctionnalité, il est suffisamment robuste.

Lorsque vous êtes dans votre éditeur VIM en train d'essayer de modifier du code, appuyez sur la combinaison de touches ci-dessous pour vérifier qu'il s'agit d'une superbe auto-complétion.

Ctrl+n

Sur la base des lettres tapées, l'éditeur trouve la correspondance la plus proche du mot que vous pourriez taper. Bien qu'il ne comprenne rien de ce que vous tapez, il fait très bien le travail.

4. Commandes VIM Linux pour effectuer une correspondance d'accolades

Comme nous l'avons mentionné précédemment, l'éditeur VIM recherche des modèles dans le texte, il apporte avec lui la correspondance des accolades pendant que vous codez. Cela nous facilite grandement la tâche lorsque nous travaillons avec des codes longs.

Celui-ci est assez simple. Amenez votre curseur sur l'accolade ouvrante/fermante et appuyez sur % signe sur le clavier.

Et juste comme ça, votre curseur sautera à l'accolade correspondante.

5. Marquer et plier les blocs de code dans VIM

Ce n'est pas aussi simple que vous le voudriez car l'éditeur de code ne comprend pas ce que nous tapons mais ne fonctionne que sur la correspondance de modèles.

Alors, comment procéder pour plier le code dans l'éditeur vim ? Nous commençons par amener le curseur là où nous voulons commencer le pliage et à partir de là, nous utilisons la letter V pour commencer à marquer le code jusqu'à l'endroit où nous voulons qu'il se replie.

Une fois que nous avons marqué le code avec la lettre V , puis appuyez sur zf plier le code. Le f dans le zf signifie fold . comment ouvrir le code sur lequel on vient d'appuyer en mettant en surbrillance la première ligne du code plié

Pour ouvrir le code maintenant, nous pouvons amener notre curseur sur la ligne où se trouve le code plié (comme vous pouvez le voir dans la capture d'écran ci-dessus, la ligne de couleur grise qui dit 6 lignes :function1() . Une fois que votre curseur est sur cette ligne, appuyez sur zo où o signifie ouvert .

Mais la méthode ci-dessus est bonne dans les cas où le code est petit. Et si vous voulez parcourir quelques centaines de lignes de code ? Laissez-moi vous montrer une autre technique de marquage qui réduira votre temps de moitié.

  • Allez à la ligne où vous voulez commencer le pliage du code
  • Appuyez sur la letter m suivi de toute autre lettre pour nommer le marquage. Par exemple mk
  • Sélectionnez l'une des accolades dans le code et appuyez sur % pour accéder directement à l'accolade fermante correspondante.
  • Appuyez sur zf'k

Le 'k signale à la commande fold de rechercher la marque "k" que nous avons indiquée en tapant mk au début.

6. Explorez les fichiers de votre système, sans quitter VIM

Un éditeur de texte/code GUI régulier aurait l'impression qu'il manque la colonne "Dossier de projet" qui est généralement fournie dans la barre latérale gauche de la fenêtre de l'éditeur de code. VIM peut-il reproduire cela ?

Bien sûr !

Avec les deux commandes :Vexplore et :Sexplore , vous pouvez diviser la fenêtre en deux sections et parcourir l'ensemble du système de fichiers. Jetez un œil aux deux commandes.

Comme vous pouvez le voir, dans les deux cas, le gestionnaire de fichiers est ouvert et vous pouvez naviguer dans les fichiers sans perdre votre concentration sur le fichier de code sur lequel vous travailliez.

Puisque nous avons déjà vu les capacités d'écran partagé de VIM, comment diviser l'écran en deux et modifier deux codes ?

7. Fenêtre de fractionnement du code VIM

Vous pouvez diviser verticalement ou horizontalement la fenêtre VIM et modifier plusieurs fichiers de code sans vous éloigner l'un de l'autre. Comment? Jetons un coup d'œil.

Le Vexplore et Sexplore Les commandes nous permettent de parcourir les fichiers et d'ouvrir n'importe quel fichier dans la section divisée du terminal. Mais si vous voulez juste ouvrir le fichier, vous pouvez utiliser le vsplit ou split commande.

VERTICAL SPLIT
:vsplit <filename>

OR 

:vsp <filename>

HORIZONTAL SPLIT
:split <filename>

OR 

:sp <filename>

La commande ci-dessus divisera le terminal verticalement et ouvrira l'autre fichier pour vous.

Commande Action
Ctrl-w ←
OU
Ctrl-w h
Concentrez-vous sur la séparation adjacente à gauche
Ctrl-w →
OU
Ctrl-w l
Concentrez-vous sur la division adjacente droite
Ctrl-w ↓
OU
Ctrl-w j
Concentrez-vous sur la division adjacente inférieure
Ctrl-w ↑
OU
Ctrl-w k
Concentrez-vous sur la division adjacente supérieure
Ctrl-w n +
OU
Ctrl-w n
Augmente ou diminue la taille de la séparation de n lignes

Si vous utilisez un logiciel client SSH comme Terminus pour vous connecter à votre serveur Linux, l'utilisation des commandes VIM par défaut pour changer de division fermera simplement la connexion.

Parce que Ctrl-W est le raccourci par défaut pour fermer les onglets sur Terminus et sur de nombreux autres logiciels Windows. Alors, comment procédons-nous ?

VIM nous permet de remapper les touches pour enregistrer les frappes et aussi pour éviter les conflits.

8. Remapper et modifier les commandes Linux VIM

Certains raccourcis dans VIM sont assez lourds et peuvent nous faire nous demander si tous les efforts en valent la peine !

Le remap , noremap , nnoremap , inoremap , vnoremap Les commandes nous permettent de remapper les commandes VIM existantes sur toute autre clé que nous aimerions configurer.

La différence entre les commandes de mappage réside dans les modes de carte dans lesquels elles fonctionnent. Couvrir les modes de carte est hors de portée de ce sujet, je vous laisse donc le soin de le lire. Allez-y et tapez :help map-modes .

Ceci est la vue d'ensemble des modes de carte, mais la rubrique d'aide contient une tonne de détails si vous souhaitez comprendre ces modes.

Comment mapper les raccourcis de commande vim existants ? Nous allons travailler avec la commande "map".

Syntaxe :

:map <new key-combo> <existing key-combo>

For example: 
:map <C-J> <C-W><C-J>
:map <C-K> <C-W><C-K>
:map <C-L> <C-W><C-L>
:map <C-H> <C-W><C-H>
:map l gg

Les mappages ci-dessus changeront les commandes de commutation de fenêtre fractionnée par défaut en Ctrl-J, Ctrl-K et ainsi de suite au lieu du Ctrl-W ajouté.

La dernière commande changera le gg commande à l . Ainsi, chaque fois que vous appuyez sur l, vous serez redirigé vers la première ligne.

Faites cela pour autant de commandes que nécessaire. Mais ces mappages sont basés sur la session. Une fois que vous quittez vim, les mappages sont réinitialisés.

Pour définir un mappage de clé persistant, nous devons ajouter les commandes au fichier VIMrc. Copiez-collez simplement les commandes sans le : dans le ~/.vimrc dossier. Si le fichier n'existe pas, créez-en un avec uniquement les commandes que vous devez exécuter au démarrage de VIM.

Pour configurer ces mappages de touches en plus de la configuration vim par défaut existante, faites simplement une copie ou un lien symbolique du fichier d'origine comme ci-dessous :

root@ubuntu:~# ln -s ~/code/dotfiles/vim/vimrc ~/.vimrc

9. Commandes Linux VIM pour activer la coloration syntaxique

Dans la continuité de notre section précédente, nous pouvons ajouter la commande syntax on dans le ~/.vimrc fichier pour activer la mise en surbrillance de la syntaxe. Regardez la différence que cela ferait.

Vous pouvez évidemment activer et désactiver la coloration syntaxique pendant la session, comme nous l'avons fait pour toutes les autres commandes auparavant.

10. Commandes Linux VIM pour couper, copier et coller

Copier et coller n'est pas aussi simple que Ctrl-c Ctrl-v mais c'est assez facile !

Dans VIM, l'action de copie s'appelle Yank , et l'action Couper est appelée Supprimer . L'action de collage continue de s'appeler Coller .

Ainsi, les raccourcis sont nommés en fonction de ces noms. Par exemple, si je dois "Yank" quelque chose, je peux taper y et le texte sélectionné est extrait.

Pour couper un texte, la commande est la même que supprimer, la lettre d . Vous pouvez donc comprendre que même lorsque vous supprimez un morceau de texte, l'éditeur VIM prépare en fait le texte à coller ailleurs.

Quelle que soit la section où se trouve le curseur, elle sera copiée ou supprimée. Pour coller le texte copié, tapez simplement p à coller après le curseur, et P à coller avant le curseur.

11. Vérification orthographique dans VIM

Vous ne vous attendiez pas à voir ce point, n'est-ce pas ? Eh bien, VIm a une option de vérification orthographique qui fonctionne sur la base d'un fichier de dictionnaire déjà disponible. Tout ce que nous avons à faire est de configurer la langue.

Dans le fichier ~/.vimrc, ajoutez la ligne suivante :

set spell spelllang=en_us

Comme vous pouvez le voir, le texte Lorem Ipsum est instantanément mis en surbrillance lorsque j'ai activé la vérification orthographique.

12. Substitution - Rechercher et remplacer dans VIM

La fonctionnalité de recherche et de remplacement offerte par tous les éditeurs de texte GUI se trouve également sur VIM. Comment? En raison de la correspondance des modèles.

:%s /Lorem/JournalDev/g

La ligne ci-dessus remplacera instantanément chaque occurrence de Lorem sur chaque ligne (g ) avec le mot JournalDev.

13. Exécuter des commandes Linux dans VIM

Vous modifiez donc du code et devez exécuter rapidement une commande. Avez-vous besoin d'enregistrer et de quitter VIm juste pour exécuter le code ? Pas vraiment !

Vim vous permet d'exécuter le code depuis l'éditeur sans avoir à perdre la trace du code. Vous pouvez le faire en utilisant un point d'exclamation après les deux-points. Voici un exemple :

:!ping www.journaldev.com

C'est ça! Maintenant, s'il s'agit d'une commande qui se termine après la sortie, vous pouvez appuyer sur la touche ENTER et revenir à la programmation. Mais dans le cas de cette commande ping, vous pouvez appuyer sur l'interruption du clavier Ctrl-C puis appuyez sur la touche ENTRÉE sans perdre votre éditeur VIM en arrière-plan.

Alternativement, vous pouvez simplement taper :shell pour obtenir directement un shell ouvert pour vous. Une fois que vous avez terminé ce que vous devez faire, il vous suffit de taper exit pour quitter le shell et revenir à VIM qui reste tel qu'il était avant.

14. Suppression de plusieurs mots

Vous savez que les mots à droite de votre curseur doivent être supprimés. Mais pas toute la phrase. Comment faites-vous? Avec la même commande et quelques paramètres supplémentaires.

Le d La commande utilisera simplement le nombre spécifié après pour supprimer ces nombreux mots. Jetez un oeil à la commande ci-dessous. Les deux commandes fonctionnent en fonction de l'endroit où se trouve le curseur.

d3w #This will delete 3 words to the right 
d3b #This will delete 3 words to the left

15. Commande Linux VIM pour annuler les modifications

Pendant que vous vous habituez à VIM, il y aura des moments où vous finirez par supprimer quelque chose que vous ne vouliez pas. L'approche Ctrl-Z ne fonctionne pas sur VIM, alors comment annuler votre travail ?

u

La lettre u annulera automatiquement les modifications comme le ferait ctrl-z.

16. Insérer du texte à partir d'un fichier différent

C'est un hack de productivité assez utile. Gagne du temps en copiant-collant des éléments de plusieurs fichiers pour les fusionner.

Alors qu'est-ce que c'est exactement ? Il lit simplement le texte d'un autre fichier spécifié et insère le texte entier juste après le curseur.

:r <file name>

17. Macros dans VIM

Nous savons que VIM peut faire beaucoup, mais avez-vous imaginé un éditeur en ligne de commande pour pouvoir enregistrer des macros ? Eh bien, vous feriez mieux de commencer à imaginer que cet éditeur est appelé puissant en raison du grand potentiel de cet éditeur simple.

Comment enregistrer une macro ? C'est très facile! Vous entrez dans le mode commande (Si vous êtes en mode insertion, appuyez simplement sur Esc ) .

qb #The letter after q is just to identify the macro. Can be anything
q #Stop recording macro
@b #Replay the macro. The letter runs that specific macro

A quoi sert cette macro ? Tout ce que vous pouvez faire dans l'éditeur VIm peut être fait avec une macro. Ainsi, par exemple, vous :

  • Aller au premier mot
  • Supprimer le premier mot
  • Remplacez-le par autre chose

Si vous devez le faire pour plusieurs lignes, il vous suffit d'enregistrer une macro et de la rejouer.

18. Utilisation du nombre de commandes

Presque toutes les commandes qui "pourraient" avoir besoin d'être entrées plusieurs fois acceptent un nombre comme argument. Par exemple, la commande de suppression d , la commande de saut de ligne k , etc.

Donc, si je veux supprimer 6 lignes, je peux faire la commande d 6 fois ou simplement dire 6d .

C'est pour la suppression, vous pouvez également le faire lorsque vous vous déplacez dans le texte. Si je veux me déplacer de 3 mots, tout ce que je tape est 3w ou 3e selon l'endroit où je veux placer le curseur, au début ou à la fin.

19. Connaître la progression dans le fichier

Si vous faites défiler un long fichier et que vous avez simplement besoin de savoir où vous vous trouvez actuellement, optez pour cette commande. Cela vous donnera un pourcentage de votre position actuelle dans le fichier.

Comme vous pouvez le voir dans l'image ci-dessus, cela me dit que la position actuelle de mon curseur est à 40% de la fin du fichier. La commande pour ce faire est en tapant Ctrl-G lorsque vous êtes en mode commande.

20. Modules d'aide pour les commandes Linux VIM

Je vais terminer cet article en parlant de l'outil pratique, la commande d'aide. Semblable aux pages de manuel sous Linux, l'help La commande permet aux utilisateurs de comprendre toutes les commandes vim en détail. Voici un exemple de ce que la commande d'aide affiche pour notre commande de suppression.

:help d

Conclusion

Ce ne sera que le début de votre voyage dans Vim-land. Il existe de nombreuses commandes et fonctionnalités que vous explorerez au fur et à mesure de votre apprentissage de VIm.

Mais il y a une chose dont vous pouvez être assuré. Si vous apprenez assez bien VIM une fois, cela deviendra une seconde nature pour vous d'attendre ces fonctionnalités lorsque vous commencerez à utiliser n'importe quel autre éditeur !

Références

  • ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf – Le guide complet de 572 pages de VIm qui passe en revue tout ce que VIM a à offrir.


Linux
  1. 3 feuilles de triche Linux essentielles pour la productivité

  2. 16 commandes Tar pour compresser et extraire des fichiers sous Linux

  3. 10 commandes Linux de base que vous devez connaître

  4. 7 commandes réseau Linux que chaque administrateur système devrait connaître

  5. Commandes de recherche Linux

Meilleure distribution Linux :10 recommandations pour améliorer votre expérience Linux

Top 30 des commandes Linux

Top 25 des commandes Vim pour Linux

Comment utiliser les commandes FTP de Linux

Top 50+ des commandes Linux que vous DEVEZ connaître

Top 5 des meilleurs éditeurs de texte Linux