web-dev-qa-db-ja.com

iTerm2:行を削除しますか?

マッピングしようとしています ⌘+Delete (バックスペース)iTerm2で行の先頭まで削除して(ブラウザやテキストエディタで動作するように)動作するものが見つからないエスケープコード。 1K(^[1K)私が読んだものに基づいて ウィキペディアで 。 「K」を出力するだけです。

編集:見つけた Ctrl+U。次に、それをマップする方法を見つけます。多分16進数コード21(Uは21文字目)なので、0x15ですか?

61
Steven Lu

わかった。 iTerm2のHex Codeマッピングが関連するCtrl + keyマッピングを生成する理由はわかりませんが、それらは生成します。また、0x00が何を意味するのかもわかりません。これは、Aに割り当てられていないためです。 (Unixにはnullバイトの処理に関連する独自の規則があると思いますが、たとえばxargsfindからのnullバイト区切り形式を受け入れます-できればすてきですこれをiTerm2でホットキーにバインドします)

Ctrl + Uはほぼ正確なタスクを実行することがわかりました(カーソルの前にあるものだけを削除するのではなく、行全体を削除しますが、ボーナスとしてCtrl + Yを使用すると、すべてを元に戻すことができます)。その後、不思議なことに、16進コード0x1および0x5にマッピングされた^Aおよび^Eそれぞれ、Cmd + LeftとCmd + Rightの場合... 0x15^U

101
Steven Lu

16進コード0x15のマッピング  + ←Delete ほとんどのシェルでは、行全体(カーソルの左右のコンテンツ)が削除されます。互換性がない場合もありますが、私はそのマッピングを見つけます:

+←Delete 16進コードを送信するには:

0x18 0x7f

必要な機能を実行します。 ZSHを実行している場合、これも.zshrcファイルに追加する必要があります。

$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc

デフォルトでは、ZSHはbackward-kill-lineを何にもマップしません。

OSXの標準キーバインドのほとんどを端末に追加するための包括的なガイドを作成しました here

27
Travis

OSXでは、⌥+⌫および⌘+⌫は、それぞれWordの削除と行の削除のショートカットです。 ⌘+←および⌘+→は、行の先頭と末尾に移動するためのものです。デフォルトでは、iTerm2はこのように構成されておらず、オンラインで誤解を招くガイドが多数あります。以下は、私のマシンで動作することがわかったものです。

  1. 設定(⌘+、)を開き、[キー]タブに移動します。
  2. グローバルショートカットキーを追加し、ショートカットを入力するだけです
  3. [アクション]ドロップダウンで、[16進コードの送信]を選択します

の16進コード...

  1. Wordの削除:0x17。
  2. 行の削除:0x15。
  3. 行の先頭に移動します:0x01。
  4. 行の最後に移動します:0x05。新しいタブを開くだけで、動作するはずです!

わかりやすくするために、次のスクリーンショットをご覧ください。 alt text

17
Ryan Efendy

これがあなたの助けになることを願っています http://felipecsl.com/blog/2012/06/05/protip-delete-words-on-iterm2-mac-osx/

map⌥<-削除して16進コードを送信:0x1B 0x08

私はそれをテストしましたが、それは正しいです。


18.09.2013アップデート

これにより、行ではなく1つのWordが削除されます。

11
JZAU

Mac OSの場合、ほとんどのエディターは共通のショートカット + Delete:行の先頭まで削除します。iTerm2では、このキー設定に切り替えることができます

enter image description here

5
Shawn Wang

先ほど指摘したように^Uは行を削除します。 Better Touch Tool を使用すると、コマンドを簡単に再マップできます。

また、自動化、マウス、パッド、キーボードのマッピングのための優れた機能も備えています。スマートボーダー用のウィンドウ機能も含まれています。

3
Fabricio PH