Ctrl+ left/rightが行頭/行末にジャンプすることがわかります。Cmdこれを+ left/に変更するにはright arrow?
14 に答える
iTerm2に次のプロファイルショートカットキーを追加します
にとって | アクション | 送信 |
---|---|---|
⌘←</td> | 「16進コードを送信」 | 0x01 |
⌘→</td> | 「16進コードを送信」 | 0x05 |
⌥←</td> | 「SENDESCSEQ」 | b |
⌥→</td> | 「SENDESCSEQ」 | f |
これが必要な人のためのビジュアルです
iTerm2 で単語と行頭/行末の間をジャンプするには、以下の 2つの解決策のいずれかを選択します。
1. シンプルなソリューション (推奨)
- 環境設定を開く
- 「プロフィール」タブをクリック
- 左側のリストでプロファイルを選択します (「デフォルト」など)。
- 「キー」タブをクリック
- [キー マッピング] タブをクリックします (存在する場合)。
- 「プリセット」ドロップダウンをクリックし、「自然なテキスト編集」を選択します
注: 複数のプロファイル (デフォルトおよびホットキー ウィンドウ) があり、すべてのプロファイルに同じ変更を適用する場合は、代わりに次の手順を使用します。
- 「キー」タブをクリック
- 「キーバインド」を選択
2. キーを手動でマッピングする (高度)
上記の「自然なテキスト編集」プリセットを使用したくない場合は、必要なキーを手動でマッピングできます。
- 環境設定を開く
- 「プロフィール」タブをクリック
- 左側のリストでプロファイルを選択します (「デフォルト」など)。
- 「キー」タブをクリック
- [キー マッピング] タブをクリックします (存在する場合)。
[+]
アイコンをクリック- 下の表からショートカットを追加します
ショートカット | 説明 | アクション | 送信 |
---|---|---|---|
⌘←</td> | 行頭にジャンプ | 「HEXコードを送信」 | 0x01 |
⌘→</td> | 行末にジャンプ | 「HEXコードを送信」 | 0x05 |
⌘ ← 削除 | 行を削除 | 「HEXコードを送信」 | 0x15 |
⌥ ←</td> | 単語の先頭にジャンプ | 「HEXコードを送信」 | 0x1b 0x62 |
⌥ →</td> | 単語の先頭にジャンプ | 「HEXコードを送信」 | 0x1b 0x66 |
⌥ ← 削除 | 単語を削除 | 「HEXコードを送信」 | 0x1b 0x08 |
⌘z | 元に戻す | 「HEXコードを送信」 | 0x1f |
ノート
上記のショートカットのキーボード バインドが既に存在する場合、新しいショートカットを有効にするには、それらを削除する必要があります。
すでに多くの良い答えがあるようですが、これはシェルだけでなく、可能な限りネイティブ 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 0x08
Elixir の 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 進数に変換する方法に関するルックアップ テーブルを探している人にとって、このテーブルは非常に役立つと思います。
上記のチュートリアルに従って、iterm2で主要な設定を設定します。
- 新しいショートカット キーを作成する
- アクションとして「エスケープ シーケンスの送信」を選択します。
- 次に、その下のテキストで
cmd-leftを設定します。
- 行頭[Hに入力OR
- 行末[Fに入る
- 行頭[Hに入力OR
iTerm2 の行末または行頭に移動したい人のクイック リファレンスについては、上記のリンク http://hackaddict.blogspot.com/2007/07/skip-to-next-or-previous-word- in-iterm.html は、iTerm2 で次のことを指摘しています。
- Ctrl+ A、行の先頭にジャンプします。
- Ctrl+ E、行末にジャンプします。
同じ問題を抱えているが、具体的には iTerm 2 で Zsh シェルを使用している人を助けるためです。Zsh が正しく読み取れない/etc/inputrc
ことが判明したため、設定で設定したキー バインディングを理解できません。
.zshrc
これを修正するには、次のようないくつかのキー バインディングをファイルに追加する必要があります。
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
上記の例の「e」の前のバックスラッシュに注意してください。リンクされた記事には表示されないため、.zshrc
バインディングを追加するときにファイルに追加してください。
行頭と行末に移動するために機能するのは、
⌘← "SEND ESC SEQ" OH
- 行頭に移動
⌘→ "SEND ESC SEQ" OF
- 行末に移動
https://aaronaddleman.com/articles/hexcodes-and-iterm/で説明
xxd -psd
キーの16進コードを取得するために使用できます。