mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-24 07:24:51 +08:00
08cc808d71
Closes #8906
28 lines
714 B
Bash
28 lines
714 B
Bash
# Bind quick stuff to enter!
|
|
#
|
|
# Pressing enter in a git directory runs `git status`
|
|
# in other directories `ls`
|
|
magic-enter () {
|
|
# If commands are not already set, use the defaults
|
|
[ -z "$MAGIC_ENTER_GIT_COMMAND" ] && MAGIC_ENTER_GIT_COMMAND="git status -u ."
|
|
[ -z "$MAGIC_ENTER_OTHER_COMMAND" ] && MAGIC_ENTER_OTHER_COMMAND="ls -lh ."
|
|
|
|
if [[ -z $BUFFER ]]; then
|
|
echo ""
|
|
if git rev-parse --is-inside-work-tree &>/dev/null; then
|
|
eval "$MAGIC_ENTER_GIT_COMMAND"
|
|
else
|
|
eval "$MAGIC_ENTER_OTHER_COMMAND"
|
|
fi
|
|
zle redisplay
|
|
else
|
|
zle accept-line
|
|
fi
|
|
}
|
|
|
|
zle -N magic-enter
|
|
|
|
bindkey -M emacs "^M" magic-enter
|
|
bindkey -M vicmd "^M" magic-enter
|
|
bindkey -M viins "^M" magic-enter
|