Oh my ZSH!

Oh My Zsh” est l’interpréteur ZSH en mode survitaminé 💪🏻 : thèmes, plugins, raccourcis, communauté de développeurs, etc.

Voyons comment installer ceci sur mac OSX et Linux (Debian & dérivés).

Note: Ce tuto a été testé sur OSX 10.12.4 et LMDE2 (Linux Mint Debian Edition) avec la version du 15/09/2017 de “Oh My ZSH”.

 

Préparatifs

Avant tout, installer l’interpréteur ZSH s’il n’est pas déjà présent :

  • Sur les Debian et dérivés :
$ sudo aptitude install zsh
  • Sur OSX, passer simplement par Homebrew :
$ brew install zsh zsh-completions

Installation

Installer maintenant “Oh my zsh”; Celui-ci va se loger dans le dossier .oh-my-zsh de votre répertoire utilisateur (/home sous Linux ou /Users sur OSX) :

$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Éditez ensuite votre fichier de configuration ~/.zshrc afin de peaufiner vos plugins, thèmes et options de lancement. Voici par exemple quelques pistes :

ZSH_THEME="agnoster"
ENABLE_CORRECTION="true"
COMPLETION_WAITING_DOTS="true"
plugins=(git docker ssh-agent screen colorize zsh-autosuggestions)
export PATH="~/bin:$PATH"
export LANG=fr_FR.UTF-8
export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=3"

N’oubliez pas de relancer le terminal pour tester vos changements, ou vous pouvez simplement lancer la commande suivante si vous êtes déjà sous ZSH :

$ source ~/.zshrc

Personnalisation

Vous trouverez sur la page des thèmes la liste conséquente des thèmes supportés par Oh My Zsh.
La page des plugins n’étant pas en reste, vous pourrez intégrer par exemple Debian, OSX, Docker, common-aliases, JSONTools, HTTPie, ssh-agent ou encore web search.

L’activation du thème et des plugins s’effectue en 2 lignes dans le fichier ~/.zshrc :

ZSH_THEME="agnoster"
plugins=(git docker ssh-agent screen colorize zsh-autosuggestions)

 

Vous pouvez par ailleurs ajouter des plugins externes comme l’auto-suggestion :

$ git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

Et l’activer en ajoutant “zsh-autosuggestions” à la liste des plugins dans ~/.zshrc

plugins=(... zsh-autosuggestions ...)

 

Autre ajout très intéressant, les polices Powerline incluant les caractères spécifiques utilisés par ZSH ou encore Vim entre autres :

$ git clone https://github.com/powerline/fonts.git --depth=1
$ cd fonts
$ ./install.sh
$ cd ..
$ rm -rf fonts

Ne pas oublier de paramétrer votre terminal pour qu’il utilise la nouvelle police (testez par exemple “Source Code Pro for Powerline”).

Historique BASH

Enfin, voici un script Python bash-history-to-zsh.py qui vous permettra d’importer tout votre historique BASH dans ZSH :

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import time

def main():
    timestamp = int(time.time())
    for line in sys.stdin.readlines():
        line = line.rstrip('\n')
        sys.stdout.write(': %s:0;%s\n' % (timestamp, line))
        timestamp += 1

if __name__ == '__main__':
    main()

Lancez-le comme suit pour ajouter l’historique BASH à ZSH :

$ cat ~/.bash_history | python bash-history-to-zsh.py >> ~/.zsh_history

 

Gain de productivité garanti!

Pour plus d’information, rendez-vous sur la page du projet ou sur le Wiki.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *