zsh は tcsh に似た履歴ナビゲーションです。

zsh は tcsh に似た履歴ナビゲーションです。

とコマンドは、最初のtcsh単語だけでなく、現在の行の空白正規化プレフィックスも考慮します。\eP\eN

たとえば、私の記録に次のものが含まれている場合

git pull upstream feature-dancing-pigs
git clone

私は入る

% git pull

次に、を入力してください\ePtcshわかりました。

% git pull upstream feature-dancing-pigs

と入力すると、コマンドに一致する履歴エントリが表示されます\ePzsh

% git clone

zshその動作をシミュレートするように設定したいと思いますtcsh。可能ですか?

zshデフォルトのemacsキー設定を試してみましたが、明示的に

bindkey "\eP" history-search-backward

それは明らかです

bindkey "\eP" history-beginning-search-backward

^[もともと代わりに使用した予想動作があります\e

ベストアンサー1

zshcontrib関数は呼び出しに書き込まれ、実行してup-line-or-beginning-search表示できます。

man zshcontrib | less '+/^\s*up-line-or-beginning-search'

これらのウィジェットは、組み込み関数 up-line-or-search および down-line-or-search に似ています。複数行のバッファにある場合は、バッファ内を上下に移動し、そうでない場合は一致するものを検索します。ラインの始まり。現在の行。ただし、この場合は行を検索します。現在の行を現在のカーソル位置まで一致させます。、記録の先頭から先に検索して行の最初の単語の代わりに

ZLE FUNCTIONSこのセクションの上部に記載されている指示を見ると、man zshcontrib

ZLE関数
ウィジェット
この関数は、対話型シェルのキーストロークにバインドできるカスタムZLEウィジェット(zshzle(1)を参照)を実装します。これを使用するには、.zshrcに次の形式の行を含める必要があります。
autoload function
zle -N function

個人的には上記の指示に従いましたが、今は必要ありません。~/.zshrc

# register the function with the autoloader
autoload -U up-line-or-beginning-search
# define new zle widget
zle -N up-line-or-beginning-search
# bind UP key
[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-beginning-search

おすすめ記事