Fish:ターミナルコマンドラインから元に戻すには、Ctrl + Spaceを結合します。

Fish:ターミナルコマンドラインから元に戻すには、Ctrl + Spaceを結合します。
abbr -a gc git commit

gcを押して展開し、魚の殻を押して元に戻したいとspace思います。ctrl+space

どうすればいいですか?

答え1

Fish でキーをバインドするには、次を使用します。

bind sequence thing-to-bind-to

または

bind -k keyname thing-to-bind-to

順序を見つけるには、fish_key_reader目的のキー[0]を使用して押します。

したがって、これを行うと、次のような結果が得られます。

キーを押してください:バインディング-k nul '何かをしてください'

したがって、キー名 "nul" を "undo"[1] にバインドします。

bind -k nul undo

注:デフォルトでは、ctrl-spaceは省略形を拡張せずにスペースを挿入するように既にバインドされているため、これは悪い考えです。ここで、略語を展開して元に戻し、スペースバーをもう一度押して略語を再び拡張する必要があります。

拡張せずにスペースを挿入するには、別のキーをバインドする必要があります。たとえば、ctrl-gに次のように指示します。

bind \cg 'commandline -i " "'

代わりに、ctrl-zを使用してデフォルトでバインドされた操作を元に戻し、ctrl-spaceを押して略語を拡張せずにスペースを挿入できます。


[0]:fish_key_readerが何も印刷しない場合、端末はキーの組み合わせに対して何も送信しないことを意味します。たとえば、端末がそれ自身のバインディングにそれを使用している場合、これが発生する可能性があります。

さらに、基本的に、鍵の組み合わせを送信するために使用されるプロトコル端末は、やや劣り、多くの組み合わせを表現することができない。たとえば、ctrl-i と tab または ctrl-shift-X と ctrl-X を区別することはできません。他のオプションもありますが、広く知られているものはありません。

[1]:vi-modeを使用している場合、bindvi-normalモードに設定されるモードはありません。たとえば、挿入モードで何かを設定するには、ビジュアルモードにを-M insert追加します。-M visual

関連情報