498

Ctrl+ left/rightが行頭/行末にジャンプすることがわかります。Cmdこれを+ left/に変更するにはright arrow?

4

14 に答える 14

889

iTerm2に次のプロファイルショートカットキーを追加します

にとって アクション 送信
⌘←</td> 「16進コードを送信」 0x01
⌘→</td> 「16進コードを送信」 0x05
⌥←</td> 「SENDESCSEQ」 b
⌥→</td> 「SENDESCSEQ」 f

これが必要な人のためのビジュアルです

iTermキービジュアルを追加

于 2012-05-07T15:47:22.947 に答える
666

iTerm2 で単語と行頭/行末の間をジャンプするには、以下の 2の解決策のいずれかを選択します。

1. シンプルなソリューション (推奨)

  1. 環境設定を開く
  2. 「プロフィール」タブをクリック
  3. 左側のリストでプロファイルを選択します (「デフォルト」など)。
  4. 「キー」タブをクリック
  5. [キー マッピング] タブをクリックします (存在する場合)。
  6. 「プリセット」ドロップダウンをクリックし、「自然なテキスト編集」を選択します

ここに画像の説明を入力

注: 複数のプロファイル (デフォルトおよびホットキー ウィンドウ) があり、すべてのプロファイルに同じ変更を適用する場合は、代わりに次の手順を使用します。

  1. 「キー」タブをクリック
  2. 「キーバインド」を選択

2. キーを手動でマッピングする (高度)

上記の「自然なテキスト編集」プリセットを使用したくない場合は、必要なキーを手動でマッピングできます。

  1. 環境設定を開く
  2. 「プロフィール」タブをクリック
  3. 左側のリストでプロファイルを選択します (「デフォルト」など)。
  4. 「キー」タブをクリック
  5. [キー マッピング] タブをクリックします (存在する場合)。
  6. [+]アイコンをクリック
  7. 下の表からショートカットを追加します
ショートカット 説明 アクション 送信
⌘←</td> 行頭にジャンプ 「HEXコードを送信」 0x01
⌘→</td> 行末にジャンプ 「HEXコードを送信」 0x05
⌘ ← 削除 行を削除 「HEXコードを送信」 0x15
⌥ ←</td> 単語の先頭にジャンプ 「HEXコードを送信」 0x1b 0x62
⌥ →</td> 単語の先頭にジャンプ 「HEXコードを送信」 0x1b 0x66
⌥ ← 削除 単語を削除 「HEXコードを送信」 0x1b 0x08
⌘z 元に戻す 「HEXコードを送信」 0x1f

ノート

上記のショートカットのキーボード バインドが既に存在する場合、新しいショートカットを有効にするには、それらを削除する必要があります。

于 2014-03-10T22:39:34.607 に答える
292

すでに多くの良い答えがあるようですが、これはシェルだけでなく、可能な限りネイティブ OSX 機能に最も近いものを提供する必要があります。これが ZSH、Bash、ノード、python -i、iex、および irb/pry セッションで機能することを確認しました (readline には rb-readline gem を使用しますが、すべてで機能するはずです)。

iTerm 設定を開きます⌘</kbd>+, and navigate to the Profiles tab (the Keys tab can be used, but adding keybinding to your profile allows you to save your profile and sync it to multiple computers) and keys sub-tab and enter the following:

カーソルの左のすべての文字を削除します

⌘</kbd>+←Delete Send Hex Codes:

0x15より互換性がありますが、カーソルの左側の文字だけでなく行全体を削除する機能もあります。私は個人的にこれを使用し、zsh bindkey を上書きして^U、カーソルの左側のものだけを削除します (以下を参照)。

また

0x18 0x7f互換性が低く、ノードでは動作せず、デフォルトでは zsh では動作しません。zshを修正するには、以下を参照してください(bash/irb/pry で問題ありません)。動作する場合は目的の機能を実行します。

カーソルの右側のすべての文字を削除します

⌘</kbd>+fn+←Delete or ⌘</kbd>+Delete→</kbd> Send Hex Codes: 0x0b

カーソルの左の単語を 1 つ削除する

⌥</kbd>+←Delete Send Hex Codes:

0x1b 0x08Elixir の IEX のブレークは、他の場所では問題なく動作するようです

また

0x17どこでも機能しますが、IRB の通常の単語区切りでは停止せず、代わりに文字スペースが見つかるまで削除します。

カーソルの右側の単語を 1 つ削除する

⌥</kbd>+fn←Delete or ⌥</kbd>+Delete→</kbd> Send Hex Codes: 0x1b 0x64

カーソルを行頭に移動

⌘</kbd>+←</kbd> Send Hex Codes: 0x01

カーソルを行末に移動

⌘</kbd>+→</kbd> Send Hex Codes: 0x05

カーソルを 1 語左に移動

⌥</kbd>+←</kbd> Send Hex Codes: 0x1b 0x62

カーソルを 1 単語右に移動

⌥</kbd>+→</kbd> Send Hex Codes: 0x1b 0x66

元に戻す

⌘</kbd>+z Send Hex Codes: 0x1f

Redoは通常、bash、zsh、または readline にバインドされていないため、zsh で修正できる未使用の 16 進数コードに設定できます。

⇧</kbd>+⌘</kbd>+Z or ⌘</kbd>+y Send Hex Codes: 0x18 0x1f

機能しないものを修正する方法

zshの場合、まだ機能していないためのバインディングをセットアップできます ⌘</kbd>+←Delete and ⇧</kbd>+⌘</kbd>+Z/⌘</kbd>+y by running:

# changes hex 0x15 to delete everything to the left of the cursor,
# rather than the whole line
$ echo 'bindkey "^U" backward-kill-line' >> ~/.zshrc

# binds hex 0x18 0x7f with deleting everything to the left of the cursor
$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc

# adds redo
$ echo 'bindkey "^X^_" redo' >> ~/.zshrc

# reload your .zshrc for changes to take effect
$ source ~/.zshrc

bashまたはreadlineにredoを追加するための解決策を見つけることができないので、誰かがそれらのいずれかの解決策を知っている場合は、以下にコメントしてください。それらを追加しようとします.

キー シーケンスを 16 進数に変換する方法に関するルックアップ テーブルを探している人にとって、このテーブルは非常に役立つと思います。

于 2015-04-02T01:22:21.133 に答える
49

上記のチュートリアルに従って、iterm2で主要な設定を設定します。

  1. 新しいショートカット キーを作成する
  2. アクションとして「エスケープ シーケンスの送信」を選択します。
  3. 次に、その下のテキストで cmd-leftを設定します。
    • 行頭[Hに入力OR
    • 行末[Fに入る
于 2011-06-15T20:13:57.257 に答える
43

iTerm2 の行末または行頭に移動したい人のクイック リファレンスについては、上記のリンク http://hackaddict.blogspot.com/2007/07/skip-to-next-or-previous-word- in-iterm.html は、iTerm2 で次のことを指摘しています。

  • Ctrl+ A、行の先頭にジャンプします。
  • Ctrl+ E、行末にジャンプします。
于 2013-06-29T05:22:12.900 に答える
11

同じ問題を抱えているが、具体的には iTerm 2 で Zsh シェルを使用している人を助けるためです。Zsh が正しく読み取れない/etc/inputrcことが判明したため、設定で設定したキー バインディングを理解できません。

.zshrcこれを修正するには、次のようないくつかのキー バインディングをファイルに追加する必要があります。

# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line

上記の例の「e」の前のバックスラッシュに注意してください。リンクされた記事には表示されないため、.zshrcバインディングを追加するときにファイルに追加してください。

于 2013-05-28T10:42:58.740 に答える
5

行頭と行末に移動するために機能するのは、

⌘← "SEND ESC SEQ" OH- 行頭に移動
⌘→ "SEND ESC SEQ" OF- 行末に移動

于 2018-10-21T22:19:01.537 に答える
1

https://aaronaddleman.com/articles/hexcodes-and-iterm/で説明

xxd -psdキーの16進コードを取得するために使用できます。

于 2017-12-08T08:50:04.520 に答える