Bash
是否可以按 Shift-k 並在 Bash 中打開命令手冊?
在 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 中也可以,但設置起來更複雜。