zleウィジェットに関連するzsh関数を見つける方法は?

zleウィジェットに関連するzsh関数を見つける方法は?

ウィジェットで遊んでいますが、accept-line目的の結果が得られませんでした。基本的なzsh関数を見つけて、accept-lineで何が起こるかを確認して記録したいと思います。

私が理解したように、zleウィジェットは独自の別の名前空間に存在します。ここで、アクションはキーをその名前zle -N空間の値にマッピングし、アクションはマッピングをzle -Aコピーします。

私は大丈夫です。ジシラーマニュアルページでインターネット検索を行いましたが、私が考えることができる最善の方法は、そのzle -lタスクに次のものを使用することです。

zle -l  | grep '^accept-line ' | grep -Eo '\(.*\)' | tr -d '()'

に直接依存しないものはありますかzle -l

ベストアンサー1

widgets関連するすべてのウィジェットと関数の名前を含む特別な配列があるので、試してみてください。

echo $widgets[accept-line]

ただし、一部のウィジェットは内部的に定義されているため、取得できるのは単語だけです。組み込みしかし、あなたの判断によるとgrep以下から派生したいくつかのスクリプトをコマンドします。.zshrc意味のある結果を得るには、ウィジェットをオーバーライドしてください。

ただし、利用可能なすべてのウィジェットとその機能を一覧表示するには、(kv)フラグを使用してください。

echo ${(kv)widgets}

おすすめ記事