とコマンドは、最初のtcsh
単語だけでなく、現在の行の空白正規化プレフィックスも考慮します。\eP
\eN
たとえば、私の記録に次のものが含まれている場合
git pull upstream feature-dancing-pigs
git clone
私は入る
% git pull
次に、を入力してください\eP
。tcsh
わかりました。
% git pull upstream feature-dancing-pigs
と入力すると、コマンドに一致する履歴エントリが表示されます\eP
。zsh
% 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