履歴検索 Ctrl+R ドット.
文字を入力すると、zshでキャンセルされます。
ヒットした場合 Ctrl+Rbck-i-search:
プロンプトが表示され、入力した単語に従って履歴が検索されます。しかし、.
と入力するとすぐに検索がキャンセルされ、最後に見つかった結果がプロンプトに表示され、カーソル位置に.
が表示されます。
foo@bar ~ vi footnote.txt
bck-i-search: foo
そして、私が入るとすぐに . 文字これは結果です:
foo@bar ~ vi .footnote.txt
ドット文字を検索文字列の一部にすることはできますか?
「oh-my-zsh」でzshを使用しています。
編集:
.zshrcを1行ずつ調べた後、この動作の理由を検出しました。
## Quick ../../..
rationalise-dot() {
if [[ $LBUFFER = *.. ]]; then
LBUFFER+=/..
else
LBUFFER+=.
fi
}
zle -N rationalise-dot
bindkey . rationalise-dot
この関数は、一連の...
を../..
に自動的に変更するために使用されます。
この機能を維持したいのですが、検索文字列で.
を許可します。
デフォルトでは、.
は通常の文字です。このように動作する場合は、構成内の何か、おそらくoh-my-zsh内に埋め込まれている何かが原因です。
メインキーマップのバインディングは、インクリメンタルサーチ中であっても文字の動作をオーバーライドします。インクリメンタルサーチ中にキャラクターの通常の動作を復元するには、キャラクターをself-insert
に明示的にバインドする必要があります。
bindkey -M isearch . self-insert