diff options
| author | navewindre <boneyaard@gmail.com> | 2025-07-13 06:42:05 +0200 |
|---|---|---|
| committer | navewindre <boneyaard@gmail.com> | 2025-07-13 06:42:05 +0200 |
| commit | 02f14a9cb152561a5e44062aac79f3b700403b40 (patch) | |
| tree | 2db8ebda3b7f6f8777783aeb5c60018e6e1359d8 /home/.oh-my-zsh/plugins/man/man.plugin.zsh | |
| parent | cbbdeb2f6b40a102a829f0c47cff052937231f00 (diff) | |
omz
Diffstat (limited to 'home/.oh-my-zsh/plugins/man/man.plugin.zsh')
| -rw-r--r-- | home/.oh-my-zsh/plugins/man/man.plugin.zsh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/plugins/man/man.plugin.zsh b/home/.oh-my-zsh/plugins/man/man.plugin.zsh new file mode 100644 index 0000000..dcba613 --- /dev/null +++ b/home/.oh-my-zsh/plugins/man/man.plugin.zsh @@ -0,0 +1,37 @@ +# ------------------------------------------------------------------------------ +# Author +# ------ +# +# * Jerry Ling<jerryling315@gmail.com> +# +# ------------------------------------------------------------------------------ +# Usage +# ----- +# +# man will be inserted before the command +# +# ------------------------------------------------------------------------------ + +man-command-line() { + # 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 +} + +zle -N man-command-line +# Defined shortcut keys: [Esc]man +bindkey "\e"man man-command-line |
