#1 Le 11/06/2010, à 08:30
- frinux
zsh ne retrouve pas tout dans history
Bonjour à tous,
j'ai changé mon shell par défaut (bash) par zsh. Tout marche très bien, à part la recherceh dans l'historique. Il fonctionne, mais pas pour tout l'historique.
J'utilise comme fichier d'historique ~/.history. En regardant dans ce fichier, il y a certains commandes que je n'arrive pas à atteindre via CTRL+R.
Vous auriez une piste ?
Pour info, voici le contenu de mon .zshrc :
#cat ~/.zshrc [ven. 11 juin 09:24]
################
# 1. Les alias #
################
# Gestion du 'ls' : couleur & ne touche pas aux accents
alias ls='ls -lah --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable'
# Demande confirmation avant d'ecraser 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 definition 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 '' end-of-line # End
bindkey '' delete-char # Del
bindkey '[3~' delete-char # Del
bindkey '[2~' overwrite-mode # Insert
bindkey '[5~' history-search-backward # PgUp
bindkey '[6~' history-search-forward # PgDn
# Prompt
BLACK="%{"$'\033[01;30m'"%}"
GREEN="%{"$'\033[01;32m'"%}"
# RED="%{"$'\033[01;31m'"%}"
RED="%{"$'\033[1;31m'"%}"
YELLOW="%{"$'\033[01;33m'"%}"
BLUE="%{"$'\033[01;34m'"%}"
BOLD="%{"$'\033[01;39m'"%}"
NORM="%{"$'\033[00m'"%}"
#Commande de prompt :
autoload -U colors
colors
# PROMPT="%{${fg[red]}%}%n@%M%{${fg[white]}%} : %{${fg[yellow]}%}%~%{${fg[white]}%}
# %B#%b"
PROMPT="%{$RED%}%n@%M%{${fg[white]}%} : %{${fg[yellow]}%}%~%{${fg[white]}%}
%B#%b"
# RPS1="%{${fg[red]}%}%(?..(%?%))%{${fg[white]}%} [%D{%a %d %b %H:%M}]"
RPS1="%{$RED%}%(?..(%?%))%{${fg[white]}%} [%D{%a %d %b %H:%M}]"
#PS1="%{${bg[white]}${fg[red]}%}%(?..(%?%))\
# %{${fg[yellow]}${bg[black]}%}%# "
# 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
# Ctrl+D est equivalent a 'logout'
unsetopt ignore_eof
# Affiche le code de sortie si different de '0'
setopt print_exit_value
# Demande confirmation pour 'rm *'
unsetopt rm_star_silent
# Si on utilise des jokers dans une liste d'arguments, retire les jokers
# qui ne correspondent a rien au lieu de donner une erreur
setopt nullglob
# Options de complétion
# Quand le dernier caractère d'une complétion est '/' et que l'on
# tape 'espace' après, le '/' est effaçé
setopt auto_remove_slash
# Traite les liens symboliques comme il faut
setopt chase_links
# 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
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
#setopt correctall
autoload -U compinit
compinit
Merci
Hors ligne
#2 Le 13/06/2010, à 16:10
- Kooothor
Re : zsh ne retrouve pas tout dans history
Salut,
Pas de piste, mais merci pour ton .zshrc bien commenté
Hors ligne
#3 Le 04/01/2011, à 05:21
- david96
Re : zsh ne retrouve pas tout dans history
Un peu tard, mais why not si ça peut servir… Dans mon zshrc, j'ai l'export des variables HISTFILE et SAVEHIST :
HISTFILE=~/.history
HISTSIZE=1000
SAVEHIST=1000
export HISTFILE SAVEHIST
Je ne sais pas si ça joue, mais chez moi ça marche nickel
Dernière modification par david96 (Le 04/01/2011, à 05:22)
Hors ligne
#4 Le 04/01/2011, à 09:40
- frinux
Re : zsh ne retrouve pas tout dans history
Ça ne changera pas grand chose, c'est juste une manière différente d'écrire. Dans ton .zshrc, tu définis tes variables puis tu les "exporte" (cad tu les portes à la connaissance du système). Moi je fais pareil mais ligne par ligne.
Hors ligne
#5 Le 04/01/2011, à 10:37
- david96
Re : zsh ne retrouve pas tout dans history
Et tu n'as toujours pas réglé ton problème ?
Hors ligne
#6 Le 04/01/2011, à 10:39
- frinux
Re : zsh ne retrouve pas tout dans history
Non pas encore
Hors ligne
#7 Le 04/01/2011, à 11:51
- david96
Re : zsh ne retrouve pas tout dans history
T'as toute une page sur les paramètres history sur ce lien :
http://www.cims.nyu.edu/cgi-systems/inf … 520Control
En espérant que…
Hors ligne