Powershell PSReadLine et d’autres modules

Le but de faire un must have, un classement ou quoi quec ce soit. L’idée c’est de presenter une façon de fonctionner avec PowerShell.

PSReadLine

PRReadline en version 2.2 propose la prediction de commande (comme ZSH) et des 3 modes d’éditions (vi, emacs ou windows) comme les shells Unix. Les predictions peuvent être indiqué en liste ou sur la ligne de commande.

Set-PSreadlineOption -EditMode vi -ViModeIndicator Cursor `
-PredictionViewStyle ListView -PredictionSource HistoryAndPlugin

Voici une exemple de command prediction

Command Prediction

Il est également possible de définir ces propres KeyHandler afin de completer les options d’édition diponible. Par exemple, nativement, PSReadLine ne gère pas les commandes VI ci, di, ca et da. La totalité du code, intégrant aussi un ersatz de la commande cs du module vim-surround de tpope, est disponible ici

Set-PSReadLineKeyHandler -Chord “c,i” -ViMode Command -ScriptBlock { VIChangeInnerBlock }
Set-PSReadLineKeyHandler -Chord “c,a” -ViMode Command -ScriptBlock { VIChangeOuterBlock }
Set-PSReadLineKeyHandler -Chord “d,i” -ViMode Command -ScriptBlock { VIDeleteInnerBlock }
Set-PSReadLineKeyHandler -Chord “d,a” -ViMode Command -ScriptBlock { VIDeleteOuterBlock }

Si vous définissez une variable d’environement VISUAL ou EDITOR, dans le mode command VI, la touche v permets d’éditer la ligne de commande actuel dans l’éditeur choisi.

PoshColor

PoshColor permets d’ajouter de la couleur sur certaines commande Get (Get-ChildItem, Get-Service, Select-String, etc).

Terminal-FontIcons

Terminal-FontIcons permet d’ajouter des icones représentant le fichier, dans le même esprit que exa

PSFZF

Ce module est un wrapper pour l’executable FuzzyFinder et il est necessaire de l’avoir dans le path avant de l’utiliser. FuzzyFinder étends le Completion avec des informations sur les commandes ou les fichiers

Oh-my-posh

Dans l’esprit des PowerLine ruby, ce module permet de thuner le prompt avec un rendu graphique. Il est possible de définir son propres Theme (https://gist.github.com/belotn/590d83f53330a05c5503e69c5ea2e1de )

ConEmu

ConEmu est un gestionnaire de console, il vous permets de lancer plusieurs shell, de les organiser dans une seule fenetre ou dans plusieurs. Dans le meme esprit que tmux ou screen sur Linux. (https://conemu.github.io/)

NerdFonts

les NErdFonts sont des polices Unicode patchées afinde proposer un ensemble de symbole utilisable dans les shells ( https://github.com/ryanoasis/nerd-fonts)

Leave a Reply

Your email address will not be published. Required fields are marked *