• Share on Google+

En tant que développeur, on se sert très souvent de son terminal. C’est pourquoi il me semble important d’avoir un terminal optimisé et personnalisé pour notre utilisation, afin de gagner un maximum de temps.

iTerm

Dans un premier temps, je vous conseille de passer à iTerm 2. Il propose beaucoup de fonctionnalités qui en font une version améliorée du terminal. Vous pouvez par exemple organiser vos fenêtres plus efficacement, paramètrer tout un tas d’options (comme par exemple créer des profils de couleurs), mettre en place de l’autocomplete et des hotkeys …

Personnaliser iTerm

On va désormais modifier un peu iTerm pour le rendre plus accueillant. Ouvre donc iTerm, cliquez sur iTerm > Prefrences, allez sur l’onglet Profiles, et séléctionner le profil par défaut. On a alors accès à une gros panel de personnalisation du terminal.

Police

Certains préfèreront changer la typo. Personnellement, j’utilise Monaco, mais certains préfèrent d’autres polices comme Courier, Andale Mono, Incosolata, Consolas, ou encore Droid Sans Mono (il y en a beaucoup d’autres, je vous laisse faire une petite recherche Google si ça vous intéresse !). Pour changer la typo, on a juste à aller dans l’onglet Text, et à séléctionner Change Font après avoir installé la police sur notre système.

Couleurs

Là dessus, il y a généralement 2 écoles : ceux qui préfèrent les terminaux à dominante foncée, et ceux qui préfèrent les dominantes claires. Tout le monde va être content, le panel de couleurs que vois propose existe en version Light et en version Dark. Il s’agit du thème Solarized, disponible sur ce repo : https://github.com/altercation/solarized (pour iTerm 2 mais aussi beaucoup d’autres applis, comme TextMate ou emacs. Pour iTerm, on a juste à se rendre dans le dossier iterm2-colors-solarized, à télécharger les fichiers .itermcolors, puis à les importer dans Colors > Load presets.

iTerm

Zsh

Passer sous zsh

Dans un premier temps, on va changer votre shell. Commencez par taper echo $SHELL dans une fenêtre de terminal : vous devriez avoir comme résultat /bin/bash. On va changer ça, et passer au shell zsh, qui va nous permettre de mettre en place des fonctionnalités bien utiles.

On ouvre donc le panneau des préférences systèmes, on clique sur Utilisateurs et groupes, on fait attention à ce que le cadenas soit déverrouillé en bas à droite, et on fait clic droit sur notre compte :

iTerm

On clique sur Options avancées, et on arrive alors sur un panneau de config. On va alors séléctionner bin/zsh dans Shell d’accès.

iTerm

Validez les changements. Personnellement, j’utilise zsh par habitude, à vous de voir si vous préférez tcshell, cshell (mais ce tuto ne s’applique qu’à zshell) …

Ouvrez un nouveua terminal, tapez echo $SHELL, et vous devriez avoir /bin/zsh. Voila, notre shell est désormais sous zsh !

Personnaliser zsh

Zsh propose de très nombreuses possibilités de personnalisation. On paramètre tout via le fichier ~/.zshrc (pour les gens comme moi qui passent 10 minutes à chercher comment taper les caractères spéciaux sur Google, sachez que le ~ se fait en tapant alt+n !).

On fait donc un sudo nano ~/.zshrc, et on peut désormais rentrer nos réglages.

On va commencer par charger 2 modules : colors, qui comme son nom l’indique, nous permet d’utiliser les couleurs, et compinit, qui active l’autocomplétion.

autoload -U colors && colors
autoload -U compinit && compinit

On va maintenant pouvoir personnaliser un peu notre ligne de commande.

autoload -U colors && colors
autoload -U compinit && compinit

PROMPT="
$fg[red]%n@$reset_color$fg[magenta]%m$reset_color$fg[yellow] %~$reset_color
> "

RPROMPT="%T"

Ça parait compliqué, mais pas de panique, on va tout expliquer :

PROMPT="" permet de changer le prompt, c’est à dire le texte qui apparait avant chaque ligne de commande.

$fg[red] permet d’initialiser une couleur, qui sera utilisée jusqu’à ce qu’on place un $reset_color. Ici, on utilise du rouge (si vous avez installé un thème, c’est le rouge du thème qui sera bien utilisé). Par exemple, si on fait $fg[yellow]Hello$reset_color world, on affichera « Hello » en jaune, et « world » en couleurs classique (noir ou blanc).

%n correspond au nom d’utilisateur, %m au nom de la machine, et %~ au chemin.

Pour finir, RPROMPT="%T" permet de définir ce qui s’affichera à droite de chaque ligne de commande. Dans notre cas, on affiche %T, donc l’heure à laquelle la commande a été exécutée.

Dans mon cas, ça donne ça (mon utilisateur s’appelle tfarneau, ma machine tfmb, et je suis dans le dossier de mon utilisateur, donc dans ~) :

iTerm

Deuxième exemple sur mon dédié :

iTerm

Ici, mon utilisateur s’appelle tfarneau, ma machine ns334380, et je suis dans le dossier /etc/apache2.

Vous savez tout, à vous de faire vos recherches sur Zsh pour pouvoir tout personnaliser comme bon vous semble !

Mettre en place des alias

Une autre fonctionnalité intéressante est la mise en place d’alias. Ils permettent de créer des raccourcis pour des commandes plus longues. Voici par exemple, le contenu des mes alias :

alias ga='git add'
alias gst='git status'
alias gc='git commit'
alias server1="ssh tfarneau@0.0.0.0 -p 1234"

Ici, on peut voir que j’ai des raccourcis vers les commandes git, et une commande qui me permet de me connecter en ssh à un serveur.

Utiliser l’autocomplete

On finit avec une partie très courte et très simple. Zsh et Compinit vous permettent d’utiliser de l’autocomplete très facilement. Par exemple, lorsque vous faites un cd, vous pouvez appuyer sur Tab pour faire défiler tous les dossiers disponibles.

Exemple en image, je tape cd php, et ma console me ressort désormais automatiquement php5 et phpmyadmin.

iTerm

Magie !

Le mot de la fin

Votre terminal est désormais plus fonctionnel. Une dernière précision, il y a énormement de choix pour les outils que vous utilisez. Je choisis d’utiliser iTerm et Zsh par habitude, mais peut être qu’il y a mieux ailleurs (si c’est le cas, n’hésitez pas à le dire !).