web-dev-qa-db-ja.com

すでに行にあるものを完了するために、bash履歴の完了を変更するにはどうすればよいですか?

数か月前に、上矢印を押したときにすでに行にあるものについてbash履歴を自動補完するコマンドを見つけました。

$ vim fi

押す 

$ vim file.py

新しいコンピューターでこれを設定したいと思います。大きな履歴を保存するときに多くの時間を節約できるからです。問題は、それが言及された場所を思い出せないことと、残念ながら無限のbashリファレンスやチュートリアルを読むことも助けにならなかったことです。

誰もがコマンドを知っていますか?

129
blokkie

.inputrcを次のように更新します。

"\C-[OA": history-search-backward
"\C-[[A": history-search-backward

"\C-[OB": history-search-forward
"\C-[[B": history-search-forward
4
nate_weldon

set enable-keypad onはあなたの~/.inputrc一部のst( suckless simple terminal )ユーザーと同様に、矢印キーがキーパッドモードになっていることに注意してください。 Ubuntuにはこの便利な/usr/share/doc/bash/inputrc.arrows

# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD"        backward-char
"\C-[OC"        forward-char
"\C-[OA"        previous-history
"\C-[OB"        next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D"        backward-char
"\C-[[C"        forward-char
"\C-[[A"        previous-history
"\C-[[B"        next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD"       backward-char
"\C-M-OC"       forward-char
"\C-M-OA"       previous-history
"\C-M-OB"       next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D"       backward-char
"\C-M-[C"       forward-char
"\C-M-[A"       previous-history
"\C-M-[B"       next-history

したがって、すべてが必要かどうかはわかりませんが、~/.inputrc

# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char

# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char

これも同じトピックにあります: 私のカーソルキーは機能しません また、この xterm:特殊キー

1
Mauricio Robayo

Ohmyzshの場合、これを。zshrcで使用します:

bindkey '^[OA' history-search-backward
bindkey '^[OB' history-search-forward

リロードするには、source ~/.zshrcまたは端末を再起動します。

ソース: https://superuser.com/a/418299/7168

1