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'.
ベストアンサー1
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 ドキュメントを表示するには、次を参照してください。一般的なhelp / manコマンド:ヘルプの組み込み部分の一致
ポリスチレン
プロンプトからコマンド全体を削除せずに man を見ることができれば良いでしょう。
私はしばしばzshでこれをします。 Bashでも可能だと思いますが、設定がより複雑です。