must - zsh themes linux
Ăšltimo comando en la misma terminal (2)
No puedo ayudarlo directamente, pero en mis terminales, el historial de comandos es uno por uno, por lo que es el comportamiento que espera. Abajo .zshrc
mi archivo .zshrc
. Por favor juega con eso. Yo corro mis terminales con Yakuake
.
# The following lines were added by compinstall
bindkey -v
bindkey -M viins ''^r'' history-incremental-search-backward
bindkey -M vicmd ''^r'' history-incremental-search-backward
#http://grml.org/zsh/zsh-lovers.html
zstyle '':completion:*'' use-cache on
zstyle '':completion:*'' cache-path ~/.zsh/cache
zstyle '':completion:*'' completer _complete _match _approximate
zstyle '':completion:*:match:*'' original only
zstyle '':completion:*:approximate:*'' max-errors 1 numeric
zstyle '':completion:*'' expand prefix suffix
zstyle '':completion:*'' list-colors ''''
zstyle '':completion:*'' list-suffixes true
zstyle '':completion:*'' original true
zstyle '':completion:*:functions'' ignored-patterns ''_*''
zstyle '':completion:*:cd:*'' ignore-parents parent pwd
zstyle :compinstall filename ''/home/borys/.zshrc''
zstyle '':completion:*:(rm|kill|diff):*'' ignore-line yes
autoload colors; colors
setopt autocd
setopt extendedglob
autoload -Uz compinit
compinit
# End of lines added by compinstall
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
# End of lines configured by zsh-newuser-install
# opens txt files in vi
alias -s txt=vi
#shortcuts for going up in directories hierarchy
alias -g ...=''../..''
alias -g ....=''../../..''
alias -g .....=''../../../..''
alias d="dirs -v"
setopt PUSHD_IGNORE_DUPS
setopt AUTO_PUSHD
DIRSTACKSIZE=14
alias findfn="find -type f -name "
alias duall="du -s ./* | sort -n| cut -f 2-|xargs -i du -sh {}"
#prompt theme
COLOR_RESET="%{$reset_color%}"
PS1="$fg_bold[black][%n@%m:$fg[blue]%~]
$COLOR_RESET%%"
PS2=$PS1
# PS1=[%n@%m:%2~]
# color stderr
exec 2>>(while read line; do
print ''/e[91m''${(q)line}''/e[0m'' > /dev/tty; print -n $''/0''; done &)
#show vi mode in prompt
function zle-line-init zle-keymap-select {
#fg_light_red=$''%{/e[5;25m%}''
# RPS1="$fg_light_red ${${KEYMAP/vicmd/-- NORMAL --}/(main|viins)/-- INSERT --}"
# RPS2=$RPS1
# PS1="${${KEYMAP/vicmd/-- NORMAL --}/(main|viins)/-- INSERT --}
#[%n@%m:%2~]"
PS1="${${KEYMAP/vicmd/$COLOR_RESET}/(main|viins)/$fg_bold[black]}[%n@%m:$fg[blue]%~]
$COLOR_RESET%%"
PS2=$PS1
zle reset-prompt
}
zle -N zle-line-init
zle -N zle-keymap-select
export SVN_EDITOR=vi
Cuando, en Bash, tengo dos terminales abiertas, cada una mantiene su propio historial, por lo que al presionar la flecha arriba siempre se presenta el comando anterior ingresado en esa terminal.
En zsh, el historial se comparte, por lo que arrow-up presenta el último comando ingresado en cualquier terminal. Más bien me gusta que ctrl-R me dé el historial completo y compartido, pero ¿hay alguna manera de hacer que la flecha arriba me dé el último comando del terminal activo?
¿Qué dice setopt
?
Tal vez tengas la opción SHARE_HISTORY
establecida.
Puede setopt no_share_history
con setopt no_share_history
o unsetopt share_history
.
Para más opciones mira en man zshoptions
.