update must have awesome zsh

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 .