GNU/Linux >> Tutoriels Linux >  >> Linux

Vim contre Nano contre Emacs :trois administrateurs système interviennent

Éditeurs de texte. Ce n'est pas quelque chose auquel la plupart des utilisateurs réfléchissent beaucoup. Cependant, tous les éditeurs de texte ne se ressemblent pas, et avec plus de temps sur le terminal, vous constaterez peut-être qu'un éditeur particulier vous convient le mieux. J'ai demandé à plusieurs de nos contributeurs de rédiger une position "pro" pour Vim, Nano et Emacs. Chaque éditeur de texte est représenté par un contributeur ayant une grande expérience avec l'éditeur en question. Nous parlons de fonctionnalités, de comparaisons et d'expériences personnelles. Passons aux éditeurs, avec Vim en premier.

[ Vous pourriez également aimer : Outils d'administration système :afficher du texte sous Linux avec la queue et la tête ]

Vim - Ricardo Gerardi

Vim est un éditeur de texte polyvalent léger mais puissant qui répond à tous vos besoins d'édition de texte, de l'édition de base des fichiers de configuration à l'émulation d'environnements de développement intégrés (IDE) complets pour le développement de logiciels.

J'utilise Vim d'une manière ou d'une autre depuis plus de 20 ans, mais il y a environ cinq ans, j'ai décidé d'utiliser Vim pour tous mes besoins en texte. J'utilise Vim pour écrire de la documentation, coder dans différents langages de programmation, et j'ai écrit un livre entier (plus de 400 pages) en utilisant Vim exclusivement.

Le nom de Vim est une contraction de Vi Improved car il étend l'éditeur de texte original vi développé pour le système d'exploitation Unix dans les années 1970/80. Vim possède toutes les fonctionnalités que vous attendez d'un éditeur de texte moderne, telles que :

  • Annuler/rétablir
  • Saisie semi-automatique
  • Mode graphique
  • Rechercher et remplacer
  • Terminal intégré
  • Gestionnaire de fichiers intégré
  • Vérification orthographique
  • Schémas de couleurs
  • Mise en évidence de la syntaxe

Je pourrais énumérer de nombreuses autres fonctionnalités, mais ce n'est pas ce qui rend Vim différent. À mon avis, Vim est le meilleur éditeur de texte en raison d'une combinaison d'autres facteurs. Jetons un coup d'œil à ceux ci-dessous.

1. Vim est omniprésent

Vim est partout. Il est installé par défaut dans la plupart des distributions Linux. Sinon, vous pouvez l'installer à l'aide du gestionnaire de packages de votre distribution. De plus, de nombreuses distributions incluent des bonus Vim tels que des plugins, des extensions et des dictionnaires avec leur gestionnaire de packages standard. Vim est également disponible pour plusieurs autres systèmes d'exploitation, notamment Unix, macOS et Windows. La configuration de Vim est portable et vous pouvez avoir la même expérience Vim en copiant vos fichiers de configuration d'une machine à une autre.

2. Vim est rapide

Vim est léger et rapide. Vim s'exécute principalement sur le terminal avec un faible encombrement. Combiné avec un temps de démarrage ultra-rapide et une latence nulle, vous pouvez utiliser Vim à tout moment, n'importe où, y compris sur des connexions à distance via SSH et du matériel à faible puissance. Vous pouvez même ouvrir plusieurs sessions Vim simultanément sans affecter les performances de votre machine.

3. Vim est piloté par clavier

Vim fournit une expérience clavier uniquement. Vous pouvez tout faire dans Vim sans lâcher le clavier. Aucun changement de contexte avec la souris améliore votre confort et votre efficacité. Cela permet également une bonne expérience lors de la saisie dans des espaces restreints, comme lors de déplacements en train ou en bus.

4. Vim est intuitif

Vim fournit des commandes de navigation simples et rapides. Vous pouvez déplacer votre curseur avec les touches fléchées (ou "h", "j", "k", "l" pour garder votre main sur la ligne d'accueil) comme les autres éditeurs de texte mais, lorsque vous commencez à utiliser des objets texte, vous augmentez votre efficacité beaucoup. Par exemple, appuyer sur "w" vous amène au début du mot suivant, "b" au mot précédent et "$" à la fin de la ligne. Vous pouvez également les combiner avec des chiffres pour vous déplacer plus rapidement. Par exemple, "3w" se déplace au début du troisième mot. Vim fournit plusieurs de ces commandes de navigation.

En plus des commandes de navigation, Vim fournit des actions mnémoniques intuitives. Par exemple, appuyez sur "i" pour insérer texte, "c" pour changer , "d" pour supprimer , et ainsi de suite.

La meilleure partie est que vous pouvez combiner ces deux idées pour créer de puissantes chaînes de commande. Par exemple, "dw" supprime tout le texte jusqu'au mot suivant, "d$" supprime jusqu'à la fin de la ligne et "c3w" modifie tout le texte jusqu'au troisième mot.

Vim structure ces chaînes de commandes sémantiquement, reflétant notre processus de pensée, semblable aux phrases en anglais avec des verbes et des objets. Vous pouvez les combiner logiquement pour composer vos propres actions sans nécessiter de commandes ou de fonctions spécifiques ; ou mémoriser des combinaisons de touches étranges comme Ctrl+Maj+F4 pour effectuer des actions.

Lorsque vous démarrez avec Vim pour la première fois, ces commandes semblent gênantes mais, avec un peu de pratique, elles rendent l'édition de texte très efficace. En fait, les raccourcis clavier Vim sont si populaires que d'autres éditeurs comme Emacs et même de nombreux IDE offrent un moyen de les activer/émuler.

5. Vim est flexible et extensible

Vim est extrêmement flexible et puissant. Vous pouvez commencer simplement et l'utiliser pour modifier rapidement les fichiers de configuration. Vous pouvez également écrire des programmes dans votre langage de programmation préféré, avec des fonctionnalités telles que la complétion de code, la coloration syntaxique et la vérification de la syntaxe, similaires aux IDE populaires. Vim fournit une coloration syntaxique prête à l'emploi pour de nombreux langages et types de fichiers.

Vim est entièrement personnalisable. Vous pouvez fournir des options à la volée ou via un fichier de configuration. Vous pouvez également créer des configurations conditionnelles qui ne sont effectives que lors de la modification d'un type de fichier particulier. En plus de la personnalisation, Vim prend en charge les plugins prêts à l'emploi. La communauté open-source a développé plusieurs plugins pour étendre encore plus les fonctionnalités de Vim. Vous pouvez ajouter une syntaxe de code pour d'autres langages, l'intégrer à Git, ajouter une barre d'état sophistiquée, une recherche floue, des commentaires de code intelligents, des extraits de code et de nombreuses autres fonctionnalités.

Plus qu'un simple éditeur de texte, Vim est une plate-forme qui vous permet de créer votre propre expérience d'édition de texte en fonction de vos besoins et de vos préférences.

Vous voulez en savoir plus ?

Si vous souhaitez en savoir plus sur Vim, consultez certains de ces liens :

  • Bases de Linux :guide du débutant pour l'édition de texte avec vim
  • Une introduction à l'éditeur vi
  • 5 plugins Vim utiles pour les développeurs
  • Vim :commandes de base et intermédiaires
  • Les cinq meilleurs plugins Vim pour les administrateurs système
  • Utilisez les macros Vim pour automatiser les tâches fréquentes

Derniers mots sur Vim

Vim est un éditeur de texte fantastique. C'est rapide, flexible et puissant, mais surtout, c'est amusant utiliser. Honnêtement, je ne me vois pas faire certaines des choses que je peux faire dans Vim avec n'importe quel autre éditeur, du moins pas aussi efficacement.

J'avoue que Nano m'a sauvé la vie à plusieurs reprises, la plus récente alors que j'écrivais un test de certification et que les raccourcis clavier de Vim ne fonctionnaient pas en raison de limitations de l'interface Web de l'examen. La nature simple de Nano m'a permis de réussir le test.

Je n'ai jamais utilisé Emacs, principalement parce que je n'ai jamais pensé qu'il fournirait tout ce que je ne pourrais pas faire avec Vim avec une empreinte plus petite. J'essaierai peut-être un jour mais, jusque-là, Vim continue d'être le principal moteur pour toutes mes exigences en matière d'édition de texte.

Inutile de dire que j'ai écrit ce billet de blog en utilisant Vim;-)

Nano - Amy Marrich

Nano est un éditeur de texte léger, clair et simple. Son seul but est de vous permettre de modifier du texte. En fait, il est si léger que de nombreux systèmes d'exploitation *nix l'utilisent comme éditeur en mode de récupération.

Même s'il est léger, il a des capacités plus complexes, mais pas dans la mesure où certains des autres éditeurs le font. Là encore, vous n'avez pas besoin d'installer quoi que ce soit d'autre pour l'utiliser non plus.

Rechercher

Comme déjà mentionné, d'autres éditeurs de texte sont beaucoup plus robustes, mais une fonctionnalité que je préfère de loin dans Nano est la capacité de recherche. Contrairement à la plupart des aspects de Linux, la fonction de recherche de Nano n'est pas sensible à la casse par défaut, bien que vous puissiez facilement le dire. Cela s'avère pratique lorsque vous recherchez toutes les occurrences d'un mot ou si vous n'êtes pas sûr de la casse du mot.

Voici d'autres avantages de la fonction de recherche :

  • Déplacement vers des emplacements spécifiques dans le document
  • Rechercher/remplacer un ou plusieurs mots
  • La possibilité de rechercher en arrière
  • Le fait très pratique qu'il revienne en haut une fois qu'il atteint la fin du document pour continuer la recherche

Autres ressources

Étant donné que Nano est léger et facile à utiliser, il n'y a pas beaucoup de courbe d'apprentissage pour commencer, mais voici quelques tutoriels pour approfondir :

  • Guide du débutant sur Nano, l'éditeur de texte en ligne de commande Linux
  • Comment utiliser l'éditeur de texte nano
  • Linux Nano Editor expliqué pour les débutants (10 exemples)

Emacs - Seth Kenlon

GNU Emacs possède toutes les fonctionnalités habituelles :Installation facile des packages (package-list-packages ), thématisation facile (customize-themes ), une interface graphique ainsi qu'une interface terminal uniquement, un gestionnaire de fichiers intégré (dired ), écrans partagés, édition à distance, sauvegardes automatiques et bien plus encore.

Les raccourcis clavier sont un peu maladroits, mais pas plus que pour jouer du piano, et c'est souvent tout aussi fluide, surtout sur un clavier Dvorak.

Mais je pense que c'est un luxe unique d'avoir une application qui est aussi elle-même un environnement de codage en direct. La façon dont GNU Emacs peut se redéfinir, et être redéfini par l'utilisateur, est sa fonctionnalité la plus puissante.

Lisp

Je n'ai pas commencé à utiliser Emacs dans l'intention de me soucier de Lisp, et encore moins d'en apprendre quoi que ce soit. Aujourd'hui encore, mon .emacs Le fichier de configuration n'est guère plus qu'un patchwork de hacks ingénieux d'autres personnes. Mais la puissance de GNU Emacs est séduisante, et un petit piratage dans un fichier de configuration peut se transformer en un script complexe qui vous fait gagner des heures pendant votre journée de travail.

Avec une connaissance rudimentaire de Lisp combinée à des fonctions déjà intégrées à Emacs, j'ai pu déplacer les sauvegardes automatiques dans un répertoire caché, ce qui m'a procuré le confort de ne pas avoir à regarder les fichiers de sauvegarde mais en même temps de savoir que les fichiers de sauvegarde existent .

Je n'ai pas perdu de données dans Emacs à cause d'un plantage ou d'une déconnexion depuis des années.

Emacs léger

Cependant, Emacs ne se limite pas à GNU et Lisp.

La tradition de "emacsen" (c'est la forme plurielle acceptée de plus d'un Emacs) est antérieure et continue au-delà de l'implémentation de GNU Emacs.

Il existe de nombreuses options pour les éditeurs basées sur une collection de macros et un style spécifique d'expérience utilisateur, la plupart d'entre elles plus légères que l'éditeur GNU.

Certains de mes favoris :

  • Micro Emacs – Premiers pas avec des alternatives légères à GNU Emacs
  • Par Jove ! C'est une alternative légère à Vim
  • Apprenez à utiliser l'éditeur de texte JOE sous Linux
  • Essayez l'éditeur de texte e3 Linux
  • Essayez Jed comme éditeur de texte pour votre terminal Linux

J'utilise ces emacsen et emacs-alikes presque aussi souvent que j'utilise GNU Emacs car ils sont faciles à compiler et à exécuter depuis /home sur les serveurs où je n'ai pas les privilèges sudo. Ils fournissent des raccourcis clavier similaires (ou identiques) auxquels je suis habitué, un accès aux macros et aux fonctions, et une expérience utilisateur globale familière. Et parce qu'Emacs est un si grand concept, il est très souvent capable de fournir une expérience utilisateur familière aux utilisateurs d'autres éditeurs.

Vous pouvez utiliser les raccourcis clavier Vim dans GNU Emacs avec evil-mode , et vous pouvez imiter GNU Nano avec le jpico de Joe .

Le monde Emacs

Le monde d'Emacs est riche, et aussi souvent que j'essaie d'autres éditeurs, je n'ai toujours rien trouvé qui manque à GNU Emacs.

Bien sûr, j'apprécie Vim pour les modifications rapides et sa navigation simple, et j'apprécie légitimement l'interface intuitive de Nano, mais Emacs est l'endroit où je me sens chez moi.

[ Vous débutez avec les conteneurs ? Découvrez ce cours gratuit. Déploiement d'applications conteneurisées :présentation technique. ]

Le moment de la décision

Ok, alors maintenant vous devez prendre une décision. Lequel de ces éditeurs de texte vous conviendra le mieux ? Si vous êtes comme moi, celui qui est installé et facile d'accès est celui que j'utilise le plus souvent (Vim). Cependant, je ne peux pas choisir pour vous. Le meilleur conseil que je puisse donner est d'essayer chaque éditeur par vous-même et de voir quelle saveur vous préférez. N'oubliez pas que l'objectif est d'être efficace et à l'aise avec l'éditeur que vous choisissez.


Linux
  1. Explication des différences entre les éditeurs de texte Vi et Vim

  2. Principes de base de Linux :Guide du débutant pour l'édition de texte avec vim

  3. Guide de l'éditeur de texte ViM 101

  4. Comment installer Vim (vi) sur Windows 10

  5. Tutoriel vim avec des exemples de commandes

Les cinq meilleurs plugins Vim pour les administrateurs système

Premiers pas avec l'éditeur de texte Nano [Guide du débutant]

Comment rechercher et remplacer du texte dans Vim

Top 5 des meilleurs éditeurs de texte Linux

Travailler avec l'éditeur Vim (éditeur de texte)

Commandes nano de base (aide-mémoire)