zsh
切り取り、コピー、貼り付けコマンド(またはウィジェットID)を別のエスケープシーケンス、つまり私のターミナルプログラムから送信されたシーケンスに設定してバインドしたいと思います。問題は、私が知らないものとcut
コマンドが何であるかわからないということcopy
です。paste
zsh
検索して読んでみましman zshzle
たが役に立ちませんでした。知っている人はいますか?
これは基本的に私のプロジェクトでやりたいことです.zshrc
。
bindkey '^[x' cut
bindkey '^[c' copy
bindkey '^[v' paste
しかし、実際の正しいcut
コマンドが何でcopy
あるかわかりませんpaste
...
答え1
(はい、そうです。Zshではキーボードコマンドを「ウィジェット」と呼びます。)
使用する場合Zsh用emacs
キーマップ(デフォルト値なのでおそらくそうです。)それではcut
、copy
&paste
が呼び出され、kill
(彼らはcopy
yank
Emacs)。
しかし、実際に存在するにもかかわらず
後者の2つは実際には一般的に使用されていません。端末でテキストを選択することはしばしば痛いからです。 (使用にはset-mark
小さな部品.)
それとは対照的に、kill
コマンドラインのさまざまな部分のための多くのウィジェット、テキストを選択せずに。使用する方がはるかに高速で、途中で他のキーを押さずに使用し続けると、削除されたテキストがリンクされます。たとえば、backward-kill-word
3回連続して実行してから後で実行すると、元の順序で3つのyank
単語がすべて一度に返されます。
しかし、長期的には、自分で新しいキーバインディングを定義するのではなく、emacs
さまざまなkill
ウィジェットのためのZshの主キーバインディングを学び慣れている方が良いでしょう。なぜなら、これらの同じまたは類似のキーボードショートカットが多くのウィジェットで頻繁に使用されるからです。 Unixシェルとシェルプログラム。
最後に、kill
合計に関する2つのヒントがありますyank
。
- Emacsと同様に、Zshにも実際に複数のクリップボードがあります。 Emacsと同様に、これをまとめて「キルループ」と呼びます。同じセッションで異なる場合に複数回使用する場合
kill
(したがって連続的ではない)を押した後、を押してキルリングから複数のキルを循環させるyank
ことができます。yank-pop
- キリングリングで何が起こっているのかを追跡しないのは難しいです。だから私は文章を書いた。
zsh-edit
キリングに何があるかを自動的に示すプラグインが呼び出されました。。試してみてください!すべてが簡単になります。