Comment éditer des fichiers avec un véritable éditeur de texte PowerShell

Avez-vous exécuté un script qui a lu un fichier texte et découvert que le fichier contenait plusieurs entrées incorrectes? Un éditeur de texte PowerShell pourrait s’avérer utile dans de telles situations. Vous n’auriez pas besoin de démarrer un éditeur externe. Au lieu de cela, vous pouvez modifier le fichier sans quitter PowerShell. C’est génial, non ?

Continuez à lire, et vous apprendrez comment installer et utiliser trois éditeurs de texte (Nano, Vim et Emacs) pour éditer vos fichiers texte dans PowerShell. Ce tutoriel couvrira également les avantages de chacun pour vous aider à choisir celui qui vous convient le mieux.

Commençons !

Prérequis

Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d’avoir ce qui suit :

  • A computer running on Windows 7 or higher. The examples in this tutorial will use Windows 10 version 21H1.
  • Windows PowerShell v3+ ou PowerShell Core v6+. Ce tutoriel utilisera la version 5.1 de Windows PowerShell.
  • La dernière version de Chocolatey (v0.11.2 au moment de la rédaction de ce tutoriel).

Utilisation de Nano comme éditeur de texte dans PowerShell

Si vous êtes nouveau dans l’utilisation d’éditeurs de texte en mode terminal ou si vous avez seulement besoin d’apporter une modification rapide à un fichier, Nano est idéal pour vous. Nano est léger, intuitif et plus adapté aux tâches d’édition de texte légères par rapport aux éditeurs plus avancés mentionnés dans ce tutoriel.

Installation de Nano

Pour installer Nano, suivez les étapes ci-dessous.

1. Ouvrez PowerShell en tant qu’administrateur.

2. Dans PowerShell, exécutez la commande choco install suivante pour installer l’éditeur de texte Nano. L’interrupteur (-y) permettra de contourner la fenêtre de confirmation et de procéder à l’installation du package.

choco install nano -y

Le processus d’installation ressemblera à l’image ci-dessous. Comme vous pouvez le voir, dans cet exemple, l’installation de Nano a réussi.

Installing Nano

3. Après avoir installé Nano, exécutez la commande suivante pour vérifier que l’installation a réussi et afficher la version actuelle.

nano --version

Comme vous pouvez le voir ci-dessous, la commande a réussi et a affiché la version de Nano sur votre ordinateur.

Verifying the Nano version

Édition et Enregistrement d’un Fichier

Maintenant que vous avez Nano installé, il est temps de l’essayer !

1. Pour créer un nouveau fichier ou ouvrir un fichier existant, exécutez la commande nano et suivez-la du nom de fichier à créer ou à ouvrir. Pour les exemples de ce tutoriel, vous allez créer et éditer un script Windows PowerShell, qui utilise l’extension de fichier .ps1. La commande ci-dessous va créer un nouveau fichier appelé myPowerShellScript.ps1 dans le répertoire actuel.

nano myPowerShellScript.ps1

L’éditeur de texte Nano s’ouvrira dans PowerShell. Comme vous pouvez le voir sur l’image ci-dessous, près du bas, il est indiqué [Nouveau Fichier], indiquant que Nano a ouvert un nouveau fichier vide.

The Nano editor screen

Pour voir toutes les commandes de raccourci disponibles, appuyez sur CTRL+G sur votre clavier pour afficher la documentation d’aide. Les commandes qui commencent par ^ signifient que vous devez appuyer sur la touche CTRL. En revanche, si la commande commence par M, vous devez appuyer sur la touche ALT.

2. Ensuite, commencez à écrire votre script en utilisant les touches fléchées de votre clavier pour déplacer le curseur. Par exemple, saisissez la commande Windows PowerShell Write-Host "Bonjour le monde!" comme indiqué dans l’image suivante. Lorsqu’elle est exécutée, cette commande affichera le texte “Bonjour le monde !” dans la console.

Notez qu’une fois que vous modifiez le contenu du fichier, le mot Modifié apparaît dans le coin supérieur droit de l’éditeur. Après l’édition, appuyez sur CTRL+O pour indiquer à Nano que vous voulez enregistrer le fichier.

Using the Write-Out shortcut

3. Nano vous demande d’entrer le nom de fichier pour écrire les modifications. Appuyez sur Entrée pour confirmer.

Saving the file

4. Enfin, pour quitter Nano, appuyez sur CTRL+X.

Si vous essayez de quitter l’éditeur alors qu’il y a des modifications en attente, Nano vous demandera de sauvegarder ou d’ignorer les modifications. Si vous choisissez de sauvegarder, appuyez sur Y et spécifiez le nom du fichier à écrire comme vous l’avez fait à l’étape 3. Sinon, appuyez sur N pour ignorer les modifications.

Exiting Nano

5. Maintenant, exécutez votre script en exécutant la commande suivante. La commande suivante suppose que votre fichier se trouve dans le dossier C:\.

& C:\myPowerShellScript.ps1

Le script affichera le message ‘Hello World!’ dans le terminal, comme indiqué dans l’image suivante.

Output of the script

Recherche et Remplacement de Texte

Maintenant que vous savez comment éditer et enregistrer un fichier, il est temps d’apprendre à faire quelque chose de légèrement plus avancé : rechercher et remplacer des chaînes de caractères !

Pour rechercher une chaîne de caractères, suivez ces étapes.

1. Tout d’abord, ouvrez le fichier texte dans l’éditeur Nano, s’il n’est pas déjà ouvert.

2. Une fois que vous avez ouvert le fichier texte, appuyez sur CTRL+W sur votre clavier pour invoquer la commande Où Est.

3. Ensuite, tapez la chaîne à rechercher à côté de la prompte de recherche et appuyez sur Entrée. L’exemple ci-dessous recherchera le mot Hello.

Searching for a string

Si la chaîne existe dans le fichier, votre curseur se déplacera à côté, comme indiqué ci-dessous.

Finding the string

Pour rechercher et remplacer une chaîne de caractères, procédez comme suit.

1. Appuyez sur CTRL+\ sur votre clavier pour ouvrir le menu de recherche et de remplacement. À côté de la prompte Recherche (à remplacer), tapez la chaîne que vous souhaitez remplacer, puis appuyez sur Entrée.

Searching for the word ‘Hello’

2. Ensuite, à la Invite de commande Remplacer par, tapez le nouveau mot et appuyez sur Entrée. Dans l’exemple ci-dessous, le mot de remplacement sera Au revoir.

Replacing the word

3. Enfin, choisissez de remplacer uniquement l’instance actuelle ou toutes les instances du mot correspondant dans le fichier. Les choix sont :

  • Pour remplacer l’instance unique, appuyez sur Y.
  • Pour remplacer toutes les instances, appuyez sur A.
  • Pour ignorer cette instance, appuyez sur N.
  • Pour annuler l’opération de remplacement, appuyez sur CTRL+C.

Dans cet exemple, appuyez sur Y pour remplacer l’instance actuelle.

Confirming the search and replace operation

Nano indiquera le nombre d’occurrences remplacées si l’opération de remplacement réussit, comme illustré dans l’image suivante.

Replace occurrence count

4. Appuyez sur CTRL+X sur votre clavier pour quitter Nano et appuyez sur Y pour enregistrer le tampon. Réexécutez votre script. Le nouveau message ‘Au revoir le monde !’ sera imprimé dans votre terminal.

The script output

Utilisation de Vim en tant qu’éditeur de texte PowerShell

Vim offre plus de fonctionnalités que Nano, telles que la récupération de session, la coloration syntaxique, la division de fenêtre et l’auto-complétion. Nano est destiné à des modifications rapides de fichiers, tandis que Vim est également une alternative légère à un IDE.

Mais, les fonctionnalités supplémentaires offertes par Vim s’accompagnent d’une courbe d’apprentissage plus raide. Ne vous découragez pas, cependant. Vim est un excellent éditeur à apprendre.

Installation de Vim

Maintenant, il est temps de commencer en installant Vim.

1. Ouvrez PowerShell en tant qu’administrateur.

2. Dans le terminal PowerShell, exécutez la commande suivante pour installer l’éditeur Vim.

choco install vim -y

3. Pour vérifier la version de Vim, exécutez la commande suivante. vim --v

vim --version
Verifying the Vim version

Édition et sauvegarde d’un fichier

Maintenant que vous avez installé Vim, il est temps de mettre les mains dans le cambouis et d’apprendre à éditer un fichier. Avant d’aller plus loin, vous devez savoir qu’il existe différents modes dans Vim. Chaque mode se comporte différemment et affecte les actions que vous pouvez effectuer à l’intérieur de l’éditeur.

Les trois modes couramment utilisés sont :

  • Normal – Le mode par défaut dès l’ouverture de Vim. Ce mode vous permet de naviguer dans le fichier texte mais pas d’ajouter de nouveaux textes.
  • Insertion – Ce mode est celui où Vim vous permet d’éditer le fichier. Pour entrer dans ce mode, appuyez sur i (insensible à la casse) sur le clavier. Pour sortir et revenir au mode normal, appuyez sur ESC.
  • Commande – Dans ce mode, Vim vous permet d’exécuter des commandes telles que sauvegarder le fichier, quitter Vim ou visualiser le document d’aide, entre autres.

Passons à l’édition d’un fichier dans Vim, suivez les étapes ci-dessous.

1. Pour ouvrir un fichier dans Vim, exécutez la commande vim suivie du nom de fichier à ouvrir. La commande ci-dessous ouvre le fichier myPowerShellScript.ps1.

vim myPowerShellScript.ps1

L’éditeur de texte vim s’ouvrira, comme affiché dans l’image suivante. Notez que la commande PowerShell ‘Write-Host’ et le message ‘Hello World!’ s’affichent dans des couleurs différentes, car Vim prend en charge la coloration syntaxique.

The Vim opening view in normal mode

Si vous avez besoin de consulter le document d’aide de Vim, tapez :h et appuyez sur Entrée. En appuyant sur le caractère : en mode normal, Vim passe en mode commande, tandis que h signifie ouvrir le fichier d’aide. Pour quitter le document d’aide, tapez :q et appuyez sur Entrée pour revenir en mode normal.

Ensuite, entrez en mode insertion en appuyant sur i. Lorsque vous entrez en mode insertion, le texte -- INSERT -- apparaît en bas de l’éditeur, comme illustré dans l’image suivante.

Vim in insert mode

3. Maintenant que vous êtes en mode insertion, modifiez le fichier comme vous le souhaitez. Les touches fléchées vous permettront de déplacer le curseur à l’intérieur de l’éditeur.

4. Après avoir modifié, appuyez sur Échap pour revenir en mode normal.

5. Tapez la commande :wq et appuyez sur Entrée pour enregistrer et fermer le fichier. La commande w enregistre les fichiers tandis que q quitte Vim.

Saving the file and existing Vim

Recherche et remplacement de texte

Suivez les étapes ci-dessous pour rechercher des chaînes dans Vim.

1. Ouvrez le fichier que vous souhaitez modifier dans Vim.

2. Sur l’éditeur Vim, pour rechercher une chaîne, exécutez la commande ci-dessous, où <string> est la chaîne que vous souhaitez rechercher.

:/<string>

Par exemple, pour rechercher le mot Bonjour, tapez :

:/Hello

Vim mettra en surbrillance les mots correspondants, comme illustré dans l’image suivante.

Pour parcourir plusieurs occurrences des textes correspondants, appuyez sur n pour passer à l’occurrence suivante ou sur la touche N pour l’occurrence précédente.

Vim highlighting the matching words

3. Enfin, pour remplacer chaque instance d’une chaîne dans le fichier entier, exécutez la commande ci-dessous, où <old> est le texte à remplacer et <new> est le texte de remplacement.

:%s/<old>/<new>/g

Par exemple, la commande ci-dessous remplacera le mot Hello par le mot Goodbye.

:%s/Hello/Goodbye/g
Performing a search and replace in Vim

Par conséquent, Vim remplace le texte comme vous pouvez le voir ci-dessous.

Vim showing the search and replace results

4. Tapez la commande :wq et appuyez sur Entrée pour enregistrer et fermer le fichier. Réexécutez le script. La sortie affichera votre nouveau message.

The script output

Utiliser Emacs comme Éditeur de Texte PowerShell

Tout comme Vim, Emacs offre plus de fonctionnalités que Nano. De plus, Emacs est également un Environnement de Développement Intégré (IDE). Certaines des fonctionnalités d’Emacs incluent la coloration syntaxique, l’édition de plusieurs fichiers simultanément et l’auto-indentation.

Un autre avantage d’Emacs par rapport aux autres éditeurs de ce tutoriel est qu’Emacs est sans mode. Emacs est également entièrement personnalisable. S’il y a quelque chose qu’Emacs ne propose pas, vous pouvez ajouter un support pour cela vous-même en utilisant Emacs Lisp.

Installation d’Emacs

Suivez les étapes ci-dessous pour installer Emacs.

1. Ouvrez PowerShell en tant qu’administrateur, si ce n’est pas déjà fait.

2. Dans le terminal PowerShell, exécutez la commande suivante pour installer Emacs en utilisant Chocolatey. choco install emacs -y

choco install emacs -y

3. Exécutez la commande suivante pour vérifier la version d’Emacs que vous avez installée. emacs --version

choco install emacs -y

Vous devriez voir une sortie similaire à l’image ci-dessous montrant la version d’Emacs sur votre ordinateur.

Displaying Emacs version

Édition et Enregistrement d’un Fichier

Vous avez installé Emacs. Et maintenant ? Plongez-vous et commencez à éditer un fichier texte pour voir Emacs en action. Suivez les étapes ci-dessous pour éditer et enregistrer un fichier texte.

1. Pour ouvrir un fichier dans Emacs, exécutez la commande emacs suivie du nom de fichier dans PowerShell. La commande ci-dessous ouvre le fichier myPowerShellScript.ps1 pour édition. L’interrupteur -nw indique à emacs d’ouvrir l’éditeur dans la fenêtre de terminal actuelle (PowerShell) et non dans une interface graphique séparée. emacs -nw myPowerShellScript.ps1

emacs -nw myPowerShellScript.ps1

Plusieurs menus déroulants seront disponibles en haut de l’éditeur. Pour consulter la documentation d’aide d’Emacs, cliquez sur le menu déroulant Aide.

Opening a file in Emacs

2. Modifiez le fichier comme vous le souhaitez et une fois vos modifications terminées, enregistrez les modifications en appuyant sur CTRL+X puis CTRL+S consécutivement. Vous verrez la confirmation d’enregistrement du fichier en bas de l’éditeur, comme indiqué ci-dessous.

Saving the file

3. Pour quitter l’éditeur, appuyez sur CTRL+X sur votre clavier, suivi de CTRL+C.

Recherche et Remplacement de Texte

Maintenant que vous connaissez les bases d’Emacs, comment effectuer une opération de recherche et de remplacement ? Suivez les étapes ci-dessous pour le faire.

1. Appuyez sur CTRL+S et tapez le texte à rechercher à côté du prompt I-search pour rechercher un texte. L’exemple ci-dessous recherche le mot Hello.

Searching for text

2. Pour lancer l’option de recherche et de remplacement, appuyez sur ALT+% sur votre clavier (similaire à ALT+SHIFT+5).

3. Ensuite, tapez le texte à rechercher à côté du prompt Query replace: et appuyez sur Entrée.

Searching for the text to replace

4. Tapez ensuite le texte de remplacement à côté du prompt et appuyez sur Entrée.

Entering the replacement text

5. Enfin, au prompt Query replacing <old text> with <new text>:, appuyez sur ! pour confirmer et remplacer toutes les occurrences du texte.

Replacing all instances of the matching text

Par conséquent, Emacs a remplacé le texte, comme vous pouvez le voir ci-dessous. De plus, Emacs affiche le nombre d’occurrences du texte remplacé en bas de l’éditeur.

Emacs replaced the search text

6. Quittez l’éditeur en appuyant sur CTRL+X sur votre clavier, suivi de CTRL+C. Réexécutez le script. La sortie affichera votre nouveau message.

The script output

Conclusion

Tout au long de ce tutoriel, vous avez appris les bases de l’utilisation de trois éditeurs de texte PowerShell et les avantages de chacun. La prochaine fois que vous devrez modifier un fichier depuis le terminal, ne perdez pas de temps à configurer un éditeur de texte externe. Ouvrez simplement Nano, Vim ou Emacs et apportez vos modifications en quelques frappes de touches !

Quel éditeur de texte PowerShell avez-vous préféré ? Connaissez-vous d’autres éditeurs de texte qui n’étaient pas dans ce tutoriel ?

Source:
https://adamtheautomator.com/powershell-text-editor/