conf2/zsh/.oh-my-zsh/plugins/man/man.plugin.zsh

38 lines
1.0 KiB
Bash
Raw Normal View History

2019-01-12 15:47:23 +00:00
# ------------------------------------------------------------------------------
# Author
# ------
#
# * Jerry Ling<jerryling315@gmail.com>
#
# ------------------------------------------------------------------------------
# Usage
# -----
#
# man will be inserted before the command
#
# ------------------------------------------------------------------------------
man-command-line() {
2020-06-11 14:41:32 +00:00
# if there is no command typed, use the last command
[[ -z "$BUFFER" ]] && zle up-history
# if typed command begins with man, do nothing
[[ "$BUFFER" = man\ * ]] && return
# get command and possible subcommand
# http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags
local -a args
args=(${${(Az)BUFFER}[1]} ${${(Az)BUFFER}[2]})
# check if man page exists for command and first argument
if man "${args[1]}-${args[2]}" >/dev/null 2>&1; then
BUFFER="man $args"
else
BUFFER="man ${args[1]}"
fi
2019-01-12 15:47:23 +00:00
}
2020-06-11 14:41:32 +00:00
2019-01-12 15:47:23 +00:00
zle -N man-command-line
# Defined shortcut keys: [Esc]man
bindkey "\e"man man-command-line