出力バインディングキーの使い方を知っています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
出力のbindkey
2文字^
(キャレット)と(大文字A)は、キーバインディングのA
値が1の制御文字であるCtrl-Aで表されます。このキャラクターの把握は違います。