Add accept-or-recall-and-infer-history

Pressing Alt-Enter now uses accept-and-infer-history, with the addition of using
the last executed command for inferring if pressed while the command line is
empty
This commit is contained in:
crater2150 2017-03-06 17:15:09 +01:00
parent c5211a17f1
commit cebda88f7b
2 changed files with 19 additions and 1 deletions

View file

@ -62,4 +62,19 @@ zle -N zle-line-finish
insert_sudo () { zle beginning-of-line; zle -U "sudo " } insert_sudo () { zle beginning-of-line; zle -U "sudo " }
zle -N insert-sudo insert_sudo zle -N insert-sudo insert_sudo
bindkey "^[s" insert-sudo bindkey "^[s" insert-sudo
local function accept-or-recall-and-infer-history() {
if [[ -z $PREBUFFER$BUFFER ]]; then
zle up-line-or-history
zle infer-next-history
else
zle accept-and-infer-next-history -- "$@"
fi
}
zle -N accept-or-recall-and-infer-history
bindkey "\e^M" accept-or-recall-and-infer-history

5
zshrc
View file

@ -2,10 +2,13 @@
HISTFILE=~/.histfile HISTFILE=~/.histfile
HISTSIZE=100000 HISTSIZE=100000
SAVEHIST=100000 SAVEHIST=100000
unsetopt histsavenodups
setopt autocd extendedglob notify correct autonamedirs setopt autocd extendedglob notify correct autonamedirs
setopt list_ambiguous autopushd pushd_ignore_dups setopt list_ambiguous autopushd pushd_ignore_dups
setopt hist_ignore_all_dups hist_ignore_space share_history setopt hist_ignore_space share_history
#setopt hist_ignore_all_dups
setopt no_auto_remove_slash auto_param_slash setopt no_auto_remove_slash auto_param_slash
setopt completeinword setopt completeinword
setopt chase_links setopt chase_links