0
私はbash bind
で、何らかの関数によって与えられた文字列を手に入れて\C-s
というクエリを埋めてもいいですか?私は事前入力bash/readlineインクリメンタル検索クエリ?
bind '"\e\C-i": "\C-s$(echo "$FOO")\C-j"'
を行うことができ期待していたが、それは単に正確な(拡張されていない)$(echo "$FOO")
を検索します。
私はbash bind
で、何らかの関数によって与えられた文字列を手に入れて\C-s
というクエリを埋めてもいいですか?私は事前入力bash/readlineインクリメンタル検索クエリ?
bind '"\e\C-i": "\C-s$(echo "$FOO")\C-j"'
を行うことができ期待していたが、それは単に正確な(拡張されていない)$(echo "$FOO")
を検索します。
readline
は、マクロのシェル式の評価をサポートしていませんが、回避策があります。
"\e\C-o"
と"\e\C-p"
を使用して、上記のアイデアの実際の実装である1 続く2を呼び出す必要があります
未使用のキーシーケンスで置き換えることを忘れないでください):
$ setup_fixedfwdsearchhistory_binding() { bind '"\e\C-o":"\C-s'"$FOO"'\C-j"'; }
$ bind -x '"\e\C-p": setup_fixedfwdsearchhistory_binding'
$ bind '"\e\C-i": "\e\C-p\e\C-o"'
ありがとう!素敵なハック:-) – unhammer