===== Fichier .zshrc minimal ===== # /etc/zsh/zshrc ou ~/.zshrc # Fichier de configuration principal de zsh, lu au lancement des shells interactifs # (et non des shells d'interprétation de fichier) # Formation Debian GNU/Linux par Alexis de Lattre # http://formation-debian.via.ecp.fr/ ################ # 1. Les alias # ################ # Gestion du 'ls' : couleur & ne touche pas aux accents # alias ls='ls --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable' # Demande confirmation avant d'écraser un fichier #alias cp='cp --interactive' #alias mv='mv --interactive' #alias rm='rm --interactive' # Raccourcis pour 'ls' alias ll='ls -l' alias la='ls -a' alias lla='ls -la' # Quelques alias pratiques alias c='clear' #alias less='less --quiet' alias s='cd ..' #alias df='df --human-readable' #alias du='du --human-readable' alias m='mutt -y' alias md='mkdir' alias rd='rmdir' #alias upgrade='apt-get update && apt-get upgrade && apt-get clean' ####################################### # 2. Prompt et définition des touches # ####################################### # Exemple : ma touche HOME, cf man termcap, est codifiee K1 (upper left # key on keyboard) dans le /etc/termcap. En me referant a l'entree # correspondant a mon terminal (par exemple 'linux') dans ce fichier, je # lis : K1=\E[1~, c'est la sequence de caracteres qui sera envoyee au # shell. La commande bindkey dit simplement au shell : a chaque fois que # tu rencontres telle sequence de caractere, tu dois faire telle action. # La liste des actions est disponible dans "man zshzle". # Correspondance touches-fonction bindkey '' beginning-of-line # Home bindkey "\e[1~" beginning-of-line bindkey "\e[H" beginning-of-line bindkey '' end-of-line # End bindkey "\e[4~" end-of-line bindkey "\e[F" end-of-line bindkey '' delete-char # Del bindkey '' delete-char bindkey '' overwrite-mode # Insert bindkey '' history-search-backward # PgUp bindkey '' history-search-forward # PgDn # Prompt couleur (la couleur n'est pas la même pour le root et # pour les simples utilisateurs) if [ "`id -u`" -eq 0 ]; then export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~ %{%}%#%{%} " else export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~ %{%}%#%{%} " fi # Prise en charge des touches [début], [fin] et autres typeset -A key key[Home]=${terminfo[khome]} key[End]=${terminfo[kend]} key[Insert]=${terminfo[kich1]} key[Delete]=${terminfo[kdch1]} key[Up]=${terminfo[kcuu1]} key[Down]=${terminfo[kcud1]} key[Left]=${terminfo[kcub1]} key[Right]=${terminfo[kcuf1]} key[PageUp]=${terminfo[kpp]} key[PageDown]=${terminfo[knp]} [[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line [[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line [[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode [[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char [[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history [[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history [[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char [[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char # Titre de la fenêtre d'un xterm case $TERM in xterm*) precmd () {print -Pn "\e]0;%n@%m: %~\a"} ;; esac # Gestion de la couleur pour 'ls' (exportation de LS_COLORS) if [ -x /usr/bin/dircolors ] then if [ -r ~/.dir_colors ] then eval "`dircolors ~/.dir_colors`" elif [ -r /etc/dir_colors ] then eval "`dircolors /etc/dir_colors`" else eval "`dircolors`" fi fi ########################################### # 3. Options de zsh (cf 'man zshoptions') # ########################################### # Je ne veux JAMAIS de beeps unsetopt beep unsetopt hist_beep unsetopt list_beep # >| doit être utilisés pour pouvoir écraser un fichier déjà existant ; # le fichier ne sera pas écrasé avec '>' unsetopt clobber # Ctrl+D est équivalent à 'logout' unsetopt ignore_eof # Affiche le code de sortie si différent de '0' setopt print_exit_value # Demande confirmation pour 'rm *' unsetopt rm_star_silent # Correction orthographique des commandes # Désactivé car, contrairement à ce que dit le "man", il essaye de # corriger les commandes avant de les hasher #setopt correct # Si on utilise des jokers dans une liste d'arguments, retire les jokers # qui ne correspondent à rien au lieu de donner une erreur setopt nullglob # Schémas de complétion # - Schéma A : # 1ère tabulation : complète jusqu'au bout de la partie commune # 2ème tabulation : propose une liste de choix # 3ème tabulation : complète avec le 1er item de la liste # 4ème tabulation : complète avec le 2ème item de la liste, etc... # -> c'est le schéma de complétion par défaut de zsh. # Schéma B : # 1ère tabulation : propose une liste de choix et complète avec le 1er item # de la liste # 2ème tabulation : complète avec le 2ème item de la liste, etc... # Si vous voulez ce schéma, décommentez la ligne suivante : #setopt menu_complete # Schéma C : # 1ère tabulation : complète jusqu'au bout de la partie commune et # propose une liste de choix # 2ème tabulation : complète avec le 1er item de la liste # 3ème tabulation : complète avec le 2ème item de la liste, etc... # Ce schéma est le meilleur à mon goût ! # Si vous voulez ce schéma, décommentez la ligne suivante : #unsetopt list_ambiguous # (Merci à Youri van Rietschoten de m'avoir donné l'info !) # Options de complétion # Quand le dernier caractère d'une complétion est '/' et que l'on # tape 'espace' après, le '/' est effacé setopt auto_remove_slash # Ne fait pas de complétion sur les fichiers et répertoires cachés unsetopt glob_dots # Traite les liens symboliques comme il faut setopt chase_links # Quand l'utilisateur commence sa commande par '!' pour faire de la # complétion historique, il n'exécute pas la commande immédiatement # mais il écrit la commande dans le prompt setopt hist_verify # Si la commande est invalide mais correspond au nom d'un sous-répertoire # exécuter 'cd sous-répertoire' setopt auto_cd # L'exécution de "cd" met le répertoire d'où l'on vient sur la pile setopt auto_pushd # Ignore les doublons dans la pile setopt pushd_ignore_dups # N'affiche pas la pile après un "pushd" ou "popd" setopt pushd_silent # "pushd" sans argument = "pushd $HOME" setopt pushd_to_home # Les jobs qui tournent en tâche de fond sont nicé à '0' unsetopt bg_nice # N'envoie pas de "HUP" aux jobs qui tourent quand le shell se ferme unsetopt hup ############################################### # 4. Paramètres de l'historique des commandes # ############################################### # Nombre d'entrées dans l'historique export HISTORY=1000 export SAVEHIST=1000 # Fichier où est stocké l'historique export HISTFILE=$HOME/.history # Ajoute l'historique à la fin de l'ancien fichier #setopt append_history # Chaque ligne est ajoutée dans l'historique à mesure qu'elle est tapée setopt inc_append_history # Ne stocke pas une ligne dans l'historique si elle est identique à la # précédente setopt hist_ignore_dups # Supprime les répétitions dans le fichier d'historique, ne conservant # que la dernière occurrence ajoutée #setopt hist_ignore_all_dups # Supprime les répétitions dans l'historique lorsqu'il est plein, mais # pas avant setopt hist_expire_dups_first # N'enregistre pas plus d'une fois une même ligne, quelles que soient # les options fixées pour la session courante #setopt hist_save_no_dups # La recherche dans l'historique avec l'éditeur de commandes de zsh ne # montre pas une même ligne plus d'une fois, même si elle a été # enregistrée setopt hist_find_no_dups ########################################### # 5. Complétion des options des commandes # ########################################### zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' zstyle ':completion:*' max-errors 3 numeric zstyle ':completion:*' use-compctl false autoload -U compinit compinit # Le logiciel autojump fournit un # moyen d'accéder rapidement aux répertoires fréquemment visités, en tapant # simplement « j un_bout_du_nom_du_répertoire ». Si vous souhaitez l'utiliser, # installez le paquet autojump et décommentez la ligne suivante : #. /usr/share/autojump/autojump.sh ################## ## Ajouts Perso ## ################## ## Variables perso ## #export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/games:~/bin #export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin #export PATH=$PATH:/usr/X11R7/bin:/home/$USER/.bin:/home/$USER/.local/bin export PATH=$PATH:/sbin:/usr/sbin:/usr/pkg/sbin:/usr/local/sbin:/usr/games:/usr/X11R7/bin:/home/$USER/.bin/busybox export EDITOR="/usr/pkg/bin/vim" export PAGER="/usr/bin/less" #export PAGER=/usr/bin/less export LANG=fr_FR.ISO8859-1 #export LANG=fr_FR.UTF-8 #export LSCOLORS="gxfxcxdxbxegedabagacad" ##priorit� utilitaire gnu #export PATH=/usr/pkg/gnu/bin:$PATH:/home/$USER/.bin/busybox ## Alias perso ## alias ls='colorls -FG' #alias ls='ls -F' alias la='ls -A' alias ll='ls -l' alias lla='ls -Al' #alias l='ls -CF' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' alias wi='which' alias wr='whereis' alias h='history' #alias vi='vim' alias pkg='pkgin' alias ntpdate-default='/usr/sbin/ntpdate 0.fr.pool.ntp.org' alias pingbsd='ping www.bsd.org' alias pinggoogle='ping www.google.fr' alias mount_ext2fs='mount -t ext2fs' alias ftpdstart='service ftpd onestart' alias ftpdstop='service ftpd onestop' alias ftpdrun='/usr/libexec/ftpd -ll -D' alias ftpdkill='pkill ftpd' alias wgetippub="wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1" alias netstattcpudp='netstat -an | grep -v stream | grep -v dgram' #alias ddliveusb='dd if=image.iso of=/dev/sda bs=1M conv=sync' ## Creer un live USB #alias pkgin# #alias pkglist='pkgin list' #alias pkginstall='pkgin intall' #alias pkgupdate='pkgin update' #alias pkgremove='pkgin remove' #alias pkgupgrade='pkgin upgrade' #alias pkgfullupgrade='pkgin fullupgrade' #alias pkgsearch='pkgin search' #alias pkgclean='pkgin clean' #alias pkgautoremove='pkgin autoremove' #alias pkgstats='pkgin stats' ===== Fichier .zshrc avec commande GNU Coreutils ===== # /etc/zsh/zshrc ou ~/.zshrc # Fichier de configuration principal de zsh, lu au lancement des shells interactifs # (et non des shells d'interprétation de fichier) # Formation Debian GNU/Linux par Alexis de Lattre # http://formation-debian.via.ecp.fr/ ################ # 1. Les alias # ################ # Gestion du 'ls' : couleur & ne touche pas aux accents # alias ls='ls --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable' # Demande confirmation avant d'écraser un fichier #alias cp='cp --interactive' #alias mv='mv --interactive' #alias rm='rm --interactive' # Raccourcis pour 'ls' alias ll='ls -l' alias la='ls -a' alias lla='ls -la' # Quelques alias pratiques alias c='clear' #alias less='less --quiet' alias s='cd ..' #alias df='df --human-readable' #alias du='du --human-readable' alias m='mutt -y' alias md='mkdir' alias rd='rmdir' #alias upgrade='apt-get update && apt-get upgrade && apt-get clean' ####################################### # 2. Prompt et définition des touches # ####################################### # Exemple : ma touche HOME, cf man termcap, est codifiee K1 (upper left # key on keyboard) dans le /etc/termcap. En me referant a l'entree # correspondant a mon terminal (par exemple 'linux') dans ce fichier, je # lis : K1=\E[1~, c'est la sequence de caracteres qui sera envoyee au # shell. La commande bindkey dit simplement au shell : a chaque fois que # tu rencontres telle sequence de caractere, tu dois faire telle action. # La liste des actions est disponible dans "man zshzle". # Correspondance touches-fonction bindkey '' beginning-of-line # Home bindkey "\e[1~" beginning-of-line bindkey "\e[H" beginning-of-line bindkey '' end-of-line # End bindkey "\e[4~" end-of-line bindkey "\e[F" end-of-line bindkey '' delete-char # Del bindkey '' delete-char bindkey '' overwrite-mode # Insert bindkey '' history-search-backward # PgUp bindkey '' history-search-forward # PgDn # Prompt couleur (la couleur n'est pas la même pour le root et # pour les simples utilisateurs) if [ "`id -u`" -eq 0 ]; then export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~ %{%}%#%{%} " else export PS1="%{%}%T %{%}%n%{%}@%{%}%m %{%}%~ %{%}%#%{%} " fi # Prise en charge des touches [début], [fin] et autres typeset -A key key[Home]=${terminfo[khome]} key[End]=${terminfo[kend]} key[Insert]=${terminfo[kich1]} key[Delete]=${terminfo[kdch1]} key[Up]=${terminfo[kcuu1]} key[Down]=${terminfo[kcud1]} key[Left]=${terminfo[kcub1]} key[Right]=${terminfo[kcuf1]} key[PageUp]=${terminfo[kpp]} key[PageDown]=${terminfo[knp]} [[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line [[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line [[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode [[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char [[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history [[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history [[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char [[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char # Titre de la fenêtre d'un xterm case $TERM in xterm*) precmd () {print -Pn "\e]0;%n@%m: %~\a"} ;; esac # Gestion de la couleur pour 'ls' (exportation de LS_COLORS) if [ -x /usr/bin/dircolors ] then if [ -r ~/.dir_colors ] then eval "`dircolors ~/.dir_colors`" elif [ -r /etc/dir_colors ] then eval "`dircolors /etc/dir_colors`" else eval "`dircolors`" fi fi ########################################### # 3. Options de zsh (cf 'man zshoptions') # ########################################### # Je ne veux JAMAIS de beeps unsetopt beep unsetopt hist_beep unsetopt list_beep # >| doit être utilisés pour pouvoir écraser un fichier déjà existant ; # le fichier ne sera pas écrasé avec '>' unsetopt clobber # Ctrl+D est équivalent à 'logout' unsetopt ignore_eof # Affiche le code de sortie si différent de '0' setopt print_exit_value # Demande confirmation pour 'rm *' unsetopt rm_star_silent # Correction orthographique des commandes # Désactivé car, contrairement à ce que dit le "man", il essaye de # corriger les commandes avant de les hasher #setopt correct # Si on utilise des jokers dans une liste d'arguments, retire les jokers # qui ne correspondent à rien au lieu de donner une erreur setopt nullglob # Schémas de complétion # - Schéma A : # 1ère tabulation : complète jusqu'au bout de la partie commune # 2ème tabulation : propose une liste de choix # 3ème tabulation : complète avec le 1er item de la liste # 4ème tabulation : complète avec le 2ème item de la liste, etc... # -> c'est le schéma de complétion par défaut de zsh. # Schéma B : # 1ère tabulation : propose une liste de choix et complète avec le 1er item # de la liste # 2ème tabulation : complète avec le 2ème item de la liste, etc... # Si vous voulez ce schéma, décommentez la ligne suivante : #setopt menu_complete # Schéma C : # 1ère tabulation : complète jusqu'au bout de la partie commune et # propose une liste de choix # 2ème tabulation : complète avec le 1er item de la liste # 3ème tabulation : complète avec le 2ème item de la liste, etc... # Ce schéma est le meilleur à mon goût ! # Si vous voulez ce schéma, décommentez la ligne suivante : #unsetopt list_ambiguous # (Merci à Youri van Rietschoten de m'avoir donné l'info !) # Options de complétion # Quand le dernier caractère d'une complétion est '/' et que l'on # tape 'espace' après, le '/' est effacé setopt auto_remove_slash # Ne fait pas de complétion sur les fichiers et répertoires cachés unsetopt glob_dots # Traite les liens symboliques comme il faut setopt chase_links # Quand l'utilisateur commence sa commande par '!' pour faire de la # complétion historique, il n'exécute pas la commande immédiatement # mais il écrit la commande dans le prompt setopt hist_verify # Si la commande est invalide mais correspond au nom d'un sous-répertoire # exécuter 'cd sous-répertoire' setopt auto_cd # L'exécution de "cd" met le répertoire d'où l'on vient sur la pile setopt auto_pushd # Ignore les doublons dans la pile setopt pushd_ignore_dups # N'affiche pas la pile après un "pushd" ou "popd" setopt pushd_silent # "pushd" sans argument = "pushd $HOME" setopt pushd_to_home # Les jobs qui tournent en tâche de fond sont nicé à '0' unsetopt bg_nice # N'envoie pas de "HUP" aux jobs qui tourent quand le shell se ferme unsetopt hup ############################################### # 4. Paramètres de l'historique des commandes # ############################################### # Nombre d'entrées dans l'historique export HISTORY=1000 export SAVEHIST=1000 # Fichier où est stocké l'historique export HISTFILE=$HOME/.history # Ajoute l'historique à la fin de l'ancien fichier #setopt append_history # Chaque ligne est ajoutée dans l'historique à mesure qu'elle est tapée setopt inc_append_history # Ne stocke pas une ligne dans l'historique si elle est identique à la # précédente setopt hist_ignore_dups # Supprime les répétitions dans le fichier d'historique, ne conservant # que la dernière occurrence ajoutée #setopt hist_ignore_all_dups # Supprime les répétitions dans l'historique lorsqu'il est plein, mais # pas avant setopt hist_expire_dups_first # N'enregistre pas plus d'une fois une même ligne, quelles que soient # les options fixées pour la session courante #setopt hist_save_no_dups # La recherche dans l'historique avec l'éditeur de commandes de zsh ne # montre pas une même ligne plus d'une fois, même si elle a été # enregistrée setopt hist_find_no_dups ########################################### # 5. Complétion des options des commandes # ########################################### zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' zstyle ':completion:*' max-errors 3 numeric zstyle ':completion:*' use-compctl false autoload -U compinit compinit # Le logiciel autojump fournit un # moyen d'accéder rapidement aux répertoires fréquemment visités, en tapant # simplement « j un_bout_du_nom_du_répertoire ». Si vous souhaitez l'utiliser, # installez le paquet autojump et décommentez la ligne suivante : #. /usr/share/autojump/autojump.sh ################## ## Ajouts Perso ## ################## ## Variables perso ## #export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/games:~/bin #export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin #export PATH=$PATH:/usr/X11R7/bin:/home/$USER/.bin:/home/$USER/.local/bin export PATH=$PATH:/sbin:/usr/sbin:/usr/pkg/sbin:/usr/local/sbin:/usr/games:/usr/X11R7/bin:/home/$USER/.bin/busybox export EDITOR="/usr/pkg/bin/vim" export PAGER="/usr/bin/less" #export PAGER=/usr/bin/less export LANG=fr_FR.ISO8859-1 #export LANG=fr_FR.UTF-8 #export LSCOLORS="gxfxcxdxbxegedabagacad" ##priorit� utilitaire gnu #export PATH=/usr/pkg/gnu/bin:$PATH:/home/$USER/.bin/busybox ## Alias perso ## alias ls='colorls -FG' #alias ls='ls -F' #alias ls='gls --color=auto -F' alias gls='gls --color=auto -F -A' alias gla='gls -A' alias gll='gls -l' alias glla='gls -Al' #alias gls='gls --color=auto' alias gdir='gdir --colour=auto' alias gvdir='gvdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' alias la='ls -A' alias ll='ls -l' alias lla='ls -Al' #alias l='ls -CF' alias wi='which' alias wr='whereis' alias h='history' #alias vi='vim' alias pkg='pkgin' alias ntpdate-default='/usr/sbin/ntpdate 0.fr.pool.ntp.org' alias pingbsd='ping www.bsd.org' alias pinggoogle='ping www.google.fr' alias mount_ext2fs='mount -t ext2fs' alias ftpdstart='service ftpd onestart' alias ftpdstop='service ftpd onestop' alias ftpdrun='/usr/libexec/ftpd -ll -D' alias ftpdkill='pkill ftpd' alias wgetippub="wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1" alias netstattcpudp='netstat -an | grep -v stream | grep -v dgram' #alias ddliveusb='dd if=image.iso of=/dev/sda bs=1M conv=sync' ## Creer un live USB #alias pkgin# #alias pkglist='pkgin list' #alias pkginstall='pkgin intall' #alias pkgupdate='pkgin update' #alias pkgremove='pkgin remove' #alias pkgupgrade='pkgin upgrade' #alias pkgfullupgrade='pkgin fullupgrade' #alias pkgsearch='pkgin search' #alias pkgclean='pkgin clean' #alias pkgautoremove='pkgin autoremove' #alias pkgstats='pkgin stats' #commande linux coreutils# #alias chgrp='gchgrp' #alias chmod='gchmod' #alias chown="gchown' #alias chroot='gchroot' #alias cp='gcp' #alias cut='gcut' #alias date='gdate' #alias dd='gdd' #alias df='gdf' #alias dialog='gdialog' #alias dir='gdir' #alias du='gdu' #alias env='genv' #alias groupsg='groups' #alias head='ghead' #alias hostid='ghostid' #alias id='gid' #alias join='gjoin' #alias kill='gkill' #alias link='glink' #alias ln='gln' #alias logname='glogname' #alias ls='gls' #alias make='gmake' #alias md5sum='gmd5sum' #alias mkdir='gmkdir' #alias mkfifo='gmkfifo' #alias mknod='gmknod' #alias mv='gmv' #alias nice='gnice' #alias nl='gnl' #alias nohup='gnohup' #alias paste='gpaste' #alias printenv='gprintenv' #alias printf='gprintf' #alias pwd='gpwd' #alias rm='grm' #alias rmdir='grmdir' #alias sha1sum='gsha1sum' #alias sha224sum='gsha224sum' #alias sha256sum='gsha256sum' #alias sha384sum='gsha384sum' #alias sha512sum='gsha512sum' #alias shred='gshred' #alias sleep='gsleep' #alias sort='gsort' #alias split='gsplit' #alias sync='gsync' #alias tac='gtac' #alias tail='gtail' #alias tar='gtar' #alias touch='gtouch' #alias tr='gtr' #alias truncate='gtruncate' #alias tsort='gtsort' #alias tty='gtty' #alias uname='guname' #alias uniq='guniq' #alias unlink='gunlink' #alias uptime='guptime' #alias users='gusers' #alias vdir='gvdir' #alias vim='gvim' #alias vimdiff='gvimdiff' #alias vimtutor='gvimtutor' #alias wc='gwc' #alias who='gwho' #alias whoami='gwhoami' #alias yes='gyes' #alias zcat='gzcat'