Bash

是否可以按 Shift-k 並在 Bash 中打開命令手冊?

  • November 25, 2016

在 Vim 中,您可以點擊Shift-k並打開游標下字元串的手冊。

是否也可以以這種方式配置 Bash(使用時set -o vi)?

例如:

# '|' represents the position of a cursor.
$ |
# Write a command.
$ grep things *|
# Hit 'esc' to enter normal mode.
# Hit '3b' to move to 'grep'.
$ |grep things *
# Now I would like to hit 'Shift-k' to open 'man grep'.

您可以將 bash 函式綁定到帶有bind -x. READLINE_LINE在此函式中,您可以通過變數和訪問輸入緩衝區的目前內容READLINE_POINT

run_man () {
 declare prefix="${READLINE_LINE:0:$READLINE_POINT}" suffix="${READLINE_LINE:$READLINE_POINT}"
 declare word="${prefix##*[!-+.0-9A-Z_a-z]}${suffix%%[!-+.0-9A-Z_a-z]*}"
 man "$word"
}
bind -m vi -x '"K": run_man'

打開命令位置中的單詞的手冊頁可能比游標下的單詞更有用,但這需要更複雜的解析。bash 完成程式碼可能對此有所幫助。或者您可能會滿足於行中的第一個單詞,這比獲取目前單詞需要更少的解析。

要檢測 bash 內置命令並顯示 bash 文件而不是手冊頁,請參閱通用幫助/man 命令:幫助內置部分匹配

附言

能夠在不從提示中刪除整個命令的情況下看到 man 真是太好了。

我經常在 zsh 中這樣做。我希望在 bash 中也可以,但設置起來更複雜。

引用自:https://unix.stackexchange.com/questions/323125