Liens
|
sudo pacman -S zsh zsh-completions zsh-lovers zsh-syntax-highlighting
# zsh-completions: ajoute la completion pour des fonctions supplémentaires
# zsh-lovers: astuces pour zsh, accessibles via man zsh-lovers
# zsh-syntax-highlighting: coloration syntaxique de la ligne de commande lors de la frappe
# définir zsh comme shell par défaut pour l'utilisateur courant
chsh -s /bin/zsh
# se relogguer pour que le modification soit prise en compte
|
| ~/.zshrc
|
DEFAULT_USER=billy
|
| ~/.zshenv
|
# pour visudo
export EDITOR='nano'
# pour cron et yaourt
export VISUAL='nano'
# Afficher les pages de manuel en couleur grace à MOST.
export PAGER="most"
# PATH
export PATH=$PATH:~/.config/yarn/global/node_modules/.bin
|
Les fichiers suivants sont lus au lancement de zsh:
| ~/.zshenv |
variables d'environnement
|
| ~/.zprofile |
équivalent de zlogin, mais lu avant zshrc
|
| ~/.zshrc |
Run Commands
|
| ~/.zlogin |
lu au démarrage d'un shell de connexion, après zshrc
|
| ~/.zlogout |
lu à la sortie d'un shell de connexion
|
 |
Recherche dans l'historique Ctrl + R |
|
# supprimer tout les lignes contenant password
LC_ALL=C sed -i '/password/d' $HISTFILE
# il faut relancer zsh pour vérifier le résultat
|
 |
Un espace en premier caractère d'une ligne de commande permet d'exécuter la commande sans l'enregistrer dans l'historique. |
| ~/.zshrc
|
# don't store in history commands prefixed with a space (test with: history | tail)
setopt HIST_IGNORE_SPACE
|
| Variable
|
Description
|
| %M |
hostname
|
| %m |
hostname until the first dot
|
| %n |
username
|
| %c |
current folder, ~ for $HOME
|
| %# |
# if the shell is running with root (administrator) privileges, or else %
|
| ~/.zshrc
|
PROMPT='%c > '
RPROMPT='%n@%m'
# ajout de l'utilisateur et du nom de la machine hôte au PROMPT du thème robbyrussell si connexion ssh
if [[ -n $SSH_CONNECTION ]]; then
PROMPT="%n@%m ${PROMPT}"
fi
|
|
# copie du dépôt de OH-MY-ZSHELL
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
# remplacement du fichier .zshrc
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# ou installation via un script
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
|
Configuration
| ~/.zshrc
|
# thème
ZSH_THEME="robbyrussell"
# Modifier le prompt
#autoload -U colors && colors
#PROMPT="%{$fg_bold[blue]%}%~ %{$fg[white]%}➭%{$reset_color%} "
# oh-my-zsh
source $ZSH/oh-my-zsh.sh
# plugins (ils se trouvent dans ~/.oh-my-zsh/plugins/ et ~/.oh-my-zsh/custom/plugins/)
plugins=(colored-man-pages common-aliases extract git sudo systemd wd)
# zsh-syntax-highlighting, doit être sourcé en dernier
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
 |
Au lieu de modifier le fichier ~/.zshrc, il est possible de créer des fichiers de configuration *.zsh dans le dossier ~/.oh-my-zsh/custom/
- ~/.oh-my-zsh/custom/aliases.zsh
- ~/.oh-my-zsh/custom/functions.zsh
- ~/.oh-my-zsh/custom/variables.zsh
|
- agnoster (installer powerline-fonts pour patcher la police)
- robbyrussell
| Variable
|
Description
|
| $(git_prompt_info) |
~/.oh-my-zsh/lib/git.zsh
|
| ${ret_status} |
~/.oh-my-zsh/themes/robbyrussell.zsh-theme
local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
|
Alias natifs
| alias
|
commande
|
explication
|
fichier
|
| ... |
../.. |
|
~/.oh-my-zsh/lib/directories.zsh
|
| .... |
../../.. |
|
~/.oh-my-zsh/lib/directories.zsh
|
| md |
mkdir -p |
créé un dossier et les dossiers parents au besoin |
~/.oh-my-zsh/lib/directories.zsh
|
| rd |
rmdir |
|
~/.oh-my-zsh/lib/directories.zsh
|
| alias_value |
|
donne la valeur d'un alias |
~/.oh-my-zsh/lib/functions.zsh
|
| _ |
sudo |
|
~/.oh-my-zsh/lib/misc.zsh
|
|
# rechercher dans quel fichier est définit un alias
zsh -ixc : 2>&1 | grep fd=find
# +~/.oh-my-zsh/plugins/common-aliases/common-aliases.plugin.zsh:37> alias 'fd=find . -type d -name'
|
Alias custom
~/.oh-my-zsh/custom/alias.zsh
Les alias custom ne fonctionnent pas dans les subshell car c'est bash qui est utilisé.
Il faut donc les définir dans bash aussi:
| ~/.bash_aliases
|
if [ -f ~/.oh-my-zsh/custom/alias.zsh ]; then
. ~/.oh-my-zsh/custom/alias.zsh
fi
|
| alias-finder |
search alias for a specified command
|
| archlinux |
ajoute des alias pour yay
|
| colored-man-pages |
colore les pages man
|
| command-not-found |
Si une commande n'est pas trouver, essaye de trouver le paquet pacman à installer pour cette commande. Installer le paquet pkgfile.
|
| common-aliases |
ajoute des alias pour le commandes courantes.
|
| copybuffer |
Ctrl-o to copy the current line of the terminal in the clipboard.
|
| extract |
Permet de désarchiver tous les formats d'archive avec la commande extract.
|
| fd |
Auto-completion pour fd.
|
| git |
ajoute des alias pour git.
|
| ripgrep |
completion for ripgrep
|
| rsync |
ajoute des alias pour rsync.
|
| sudo |
Appuyer 2 fois sur Esc pour ajouter sudo en début de ligne de commandes.
|
| systemd |
ajoute des alias pour systemd.
|
| Warp directory |
permet de changer de dossier vers des dossiers marqués.
|
Search alias for a specified command
|
alias-finder 'git commit -m'
# gcmsg='git commit -m'
# g=git
# all aliases which contain git
alias-finder -l git
|
 |
- Installer fortune-mod et cowsay
- Ajouter chuck_cow à la fin de ~/.zshrc
|
common-aliases
| alias
|
commande
|
explication
|
| l |
ls -lFh |
-F ajoute un / à la fin des noms de dossiers
|
| la |
ls -lAFh |
-A affiche tous sauf . et ..
|
| lr |
ls -tRFh |
-R parcourt récursivement les dossiers
|
| lt |
ls -ltFh |
trie par ordre antéchronologique de modification
|
| ll |
ls -l
|
| ldot |
ls -ld .* |
liste tous les fichiers et dossiers commençant par . sauf . et ..
|
| lS |
ls -1FSsh |
liste par ordre décroissant de taille
|
| lart |
ls -1Fcart |
liste par ordre chronologique de modification
|
| lrt |
ls -1Fcrt |
liste par ordre chronologique de modification
|
| zshrc |
$EDITOR ~/.zshrc |
|
| sgrep |
grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} |
recherche récursivement du texte dans tous les fichiers
|
| t |
tail -f |
afficher le contenu d'un fichier en temps réel
|
| fd |
find . -type d -name |
|
| ff |
find . -type f -name |
|
| h |
history |
|
| hgrep |
fc -El 0 | grep |
recherche dans l'historique des commandes
|
| Alias
|
Commandes
|
| adg |
sudo apt update && sudo apt upgrade
|
| acs |
apt-cache search
|
| ai |
sudo apt install
|
| ap |
sudo apt purge
|
| aac |
sudo apt autoclean
|
| aar |
sudo apt autoremove
|
| apt-list-packages |
liste les packages installés par taille
|
| apt-history |
historique des packages installés, màj, supprimés
|
| alias
|
commande
|
explication
|
| g |
git |
|
| gcam |
git commit -a -m |
|
| ga |
git add |
|
| gaa |
git add --all |
|
| gst |
git status |
gs déjà utilisé pour GhostScript
|
| gd |
git diff |
|
| ggp |
git push origin $(current_branch) |
|
| gba |
git branch -a |
|
| Alias
|
Command
|
| rsync-copy |
rsync -avz --progress -h
|
| rsync-move |
rsync -avz --progress -h --remove-source-files
|
| rsync-update |
rsync -avzu --progress -h
|
| rsync-synchronize |
rsync -avzu --delete --progress -h
|
|
# Alias sc-[cmd] → systemctl [cmd]
sc-status nginx → systemctl status nginx
sc-start nginx → sudo systemctl status nginx
|
|
# lier un alias au dossier courant
wd add <alias>
# supprimer MonDossier de la liste
wd add/rm MonDossier
# se rendre à MonDossier depuis n'importe où
wd add MonDossier
wd list/show
|
Erreurs
Après l'autocomplétion, 2 caractères restent affichés
Définir une locale