特殊文字「^A」、^[、^[[を見つける方法

特殊文字「^A」、^[、^[[を見つける方法

出力バインディングキーの使い方を知っていますbindkey

何でも言ってくれますかgrep

$ bindkey | grep line
"^A" beginning-of-line
"^E" end-of-line
"^J" accept-line
"^K" kill-line
...

^[Gしかし、私はgrepまたは待つことができません^[[A

$ bindkey | grep ^[G
zsh: bad pattern: ^[G

または同じキーワードをどのように使用しますかgrep^[G^[[A

ベストアンサー1

2つの質問:シェルの特殊文字と正規表現の特殊文字です。

開き括弧は、[シェルのファイル名拡張パターンで特別な意味を持ち、これはzshがこのエラーで言及しているものです。文字通り引用するように言うことができます。一重引用符と二重引用符はどちらも大丈夫ですが、一重引用符がより良く、例外が少なくなります。

正規表現では、最初の文字^はパターンが行の先頭に固定されていることを示し、[シェルのパターンと同様の特別な意味を持ちます。したがって、grep両方ともリテラルとして処理するように指示する必要があり、これはバックスラッシュでエスケープすることによって行われます。

だから:

bindkey | grep '\^\[G'

^A出力のbindkey2文字^(キャレット)と(大文字A)は、キーバインディングのA値が1の制御文字であるCtrl-Aで表されます。このキャラクターの把握は違います。

おすすめ記事