En tant que développeur on est de plus en plus emmené à utiliser le terminal, malheureusement si on utilise Windows notre choix est plutôt limité : Par défaut on est emmené à utiliser l'invité de commande cmd.exe qui est tout simplement une abomination (historique plus que réduit, impossible d'effectuer de sélection, fenêtre non redimensionnable...). Il existe bien des solutions et des Shell alternatifs comme Cygwin, mais il faut être prêt à se lancer dans de la configuration assez chiante pour avoir quelque chose de réellement exploitable. Et c'est là que Babun entre en jeu.
Babun est un outil qui regroupe plusieurs éléments afin de vous simplifier la vie. Il fonctionne à partir de Cygwin et intègre 2 Shell (zsh avec oh-my-zsh et bash) ainsi qu'un tas d'autres outils comme la gestion des proxys, le gestionnaire de paquet pact pour Cygwin, git... Donc inutile de s'ennuyer à installer tout ça, il suffit d'installer Babun et tout fonctionne correctement.
Pour installer Babun il vous suffit de vous rendre sur le site et de télécharger le zip qui contiendra un fichier bat qui vous permettra d'installer les différents éléments qui permettront à Babun de fonctionner. Par défaut, babun s'installe dans le dossier C:\Users\******\.babun
, si vous souhaiter installer babun dans un dossier spécifique il vous suffit de lancer le .bat avec l'option /target
install.bat /target D:\App
Attention, Cygwin qui est installé par babun n'utilisera par votre dossier personnel comme base pour stocker votre configuration git ou vos clefs ssh, mais un dossier qui se situe dans le dossier d'installation. Si c'est un comportement qui vous gène (si vous avez déjà votre configuration dans votre dossier C:\Users\******
vous pouvez forcer babun à utiliser votre dossier utilisateur en définissant une variable d'environnement HOME
qui pointe vers votre dossier utilisateur.
Pour utiliser Babun vous avez 2 solutions :
Par défaut, babun intègre 2 Shell Bash et Zsh et démarrera sur Zsh (il vous suffit de taper bash
pour passer sur bash.
Une des choses qui est intéressantes avec babun c'est que l'on va pouvoir le personnaliser et l'adapter à nos besoins.
La console de babun utilise Mintty donc si on souhaite personnaliser l'interface il faudra modifier le fichier ~/.minttyrc
(par défaut il est vide)
Font=Menlo for Powerline
FontHeight=13
ForegroundColour=211,208,200
BackgroundColour=45,45,45
CursorColour=253,157,79
Black=45,45,45
BoldBlack=116,115,105
Red=242,119,122
BoldRed=236,50,53
Green=153,204,153
BoldGreen=102,177,102
Yellow=255,204,102
BoldYellow=255,177,24
Blue=102,153,204
BoldBlue=57,114,173
Magenta=204,153,204
BoldMagenta=177,102,177
Cyan=102,204,204
BoldCyan=57,173,173
White=211,208,200
BoldWhite=242,240,236
Dans mon cas j'utilise une police spéciale qui est utilisée par pas mal de thèmes pour oh-my-zsh. Ensuite au niveau des couleurs, j'utilise le thème solarized, mais vous pouvez adapter et utiliser des configurations toutes faites pour avoir des couleurs qui vous conviennent.
Oh my zsh est un framework qui permet de gérer simplement la configuration du Shell Zsh et qui intègre tout un tas de plug-ins et de thèmes. Si vous souhaitez personnaliser le thème qui sera utilisé par votre Shell, ajouter des alias ou encore activer ou désactiver des plug-ins il vous faudra modifier le fichier ~/.zshrc
. Ce fichier contient par défaut beaucoup de commentaires alors je vous donne seulement les modifications que j'ai apportées.
ZSH_THEME="agnoster"
plugins=()
alias dssh="boot2docker ssh"
alias dstart="boot2docker up && boot2docker ssh"
DEFAULT_USER=Grafikart
plug-ins
Avoir plusieurs fenêtres de terminal peut être un petit peu pénible si vous n'avez pas un écran super grand et utiliser des onglets c'est parfois beaucoup plus pratique. Babun ne gère pas cela par défaut, mais il est tout à fait possible d'utiliser la console de babun avec ConEmu par exemple.
Dans ce cas-là il vous faudra créer une nouvelle tâche et y mettre :
N'oubliez pas d'adapter les chemins si vous avez installé Babun dans un dossier spécifique.
Vous pouvez aussi utiliser Cmder mini qui utilise ConEmu, mais qui est déjà préconfiguré avec certains raccourcis clavier habituels comme CTRL + T pour ouvrir une nouvelle console)
Vous avez maintenant une console acceptable sur Windows qui contient un nombre important des outils que vous avez l'habitude d'utiliser sur Linux et qui est capable de gérer la sélection et les copier/coller simplement.