web-dev-qa-db-ja.com

ターミネーターターミナルエミュレーターでZshを実行するときの.zshrcのキー設定(ホーム/終了/挿入/削除)を修正

Ubuntu11.04を実行しています。 Terminator Terminal Emulator 0.95、およびZshバージョン4.3.15をインストールしました。
Zsh内のキーに(一般的に知られている)問題があります。少なくともこれら:

  • ホーム/終了、何も起こりません
  • 挿入/削除/ PageUp/PageDown:「〜」が入力されます

問題を解決するはずの.zshrcのいくつかの構成をすでに試しましたが、これまでのところ実際に機能するアプローチはありません。多分これはターミネーターとZshの組み合わせに関連しています。このページの2つの設定を取得しました: https://bbs.archlinux.org/viewtopic.php?pid=428669

誰かが同様の構成(特にターミネーターとZsh)を持っていて、キー設定を修正するために.zshrcに何を挿入する必要があるかを理解していますか?

30
Ingo Fischer

キーのコードを知るには、catを実行し、キーを押して、Enterキーを押してCtrl + Cを押します。

私の場合、Home^[[HEnd^[[Fを送信するので、.zshrcをホームディレクトリに置くことができます。

bindkey  "^[[H"   beginning-of-line
bindkey  "^[[F"   end-of-line

これらのコードは、使用するターミナルエミュレーターによって変わる可能性があります。

autoload zkbd ; zkbdは、bindkey "${key[Home]}" beginning-of-lineのように、使用するキーコードの配列を含むファイルを作成します。端末に応じて、異なるファイルを入手できます。

57
lolesque

@lolesqueに感謝しますが、解決策は私にはうまくいきません。 zkbdを使用してキーのバインドを確認した後、次の解決策が見つかりました。ところで、私の$TERMxtermです。

bindkey  "^[[1~"   beginning-of-line
bindkey  "^[[4~"   end-of-line

それが役に立てば幸い。

17
pdm

WSL2(Windows 10)の私にとって、これはそれでした

bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line

catトリックドットは、受け入れられた回答のように^[[Hを出力したため、機能しませんが、新しいものに^[OHと入力すると、Ctrl+v Homeシーケンスを見つけることができました。 zshを実行しているウィンドウターミナル。

1
Epeli