Ctrl+ left/ rightが行の先頭/末尾にジャンプすることがわかります。これをCmd+ left/ に変更する方法はright arrow?
得るためにAlt+ left/ right arrowワードジャンプのために正しく動作することは従って、この記事を。
Ctrl+ left/ rightが行の先頭/末尾にジャンプすることがわかります。これをCmd+ left/ に変更する方法はright arrow?
得るためにAlt+ left/ right arrowワードジャンプのために正しく動作することは従って、この記事を。
回答:
次のプロファイルショートカットキーをiTerm2に追加します
FOR ACTION SEND
⌘← "SEND HEX CODE" 0x01
⌘→ "SEND HEX CODE" 0x05
⌥← "SEND ESC SEQ" b
⌥→ "SEND ESC SEQ" f
これが必要な人のためのビジュアルです
⌘← "SEND ESC SEQ" OH
Homeと⌘→ "SEND ESC SEQ" OF
Endに対するものです(これらは大文字の 'o'であり、ゼロではありません)。これは実際にホームとEndキーを押し、およびその他のbashで、このような意志の仕事、vimの、などをシミュレート
iTerm2で単語と行の始まり/終わりの間をジャンプするには、1つ選択してくださいは、以下の2つの解決策のを。
上記の「Natural Text Editing」プリセットを使用したくない場合は、必要なキーを手動でマッピングできます。
[+]
アイコンをクリックカーソルを1単語左に移動する
0x1b 0x62
カーソルを1単語右に移動
0x1b 0x66
カーソルを行頭に移動
0x01
カーソルを行末に移動
0x05
単語を削除
0x1b 0x08
行を削除
0x15
元に戻す
0x1f
以前のバインディングを削除することを忘れないでください:
Says send Hex Codes: 0x1b 0x1b 0x5b 0x44
。これを削除したくない場合は、知っておくと便利です。
良い答えはたくさんありますが、シェルだけでなく、ネイティブのOSX機能にできる限り近いものを提供するはずです。これがZSH、Bash、node、python -i、iex、irb / pryセッションで機能することを確認しました(readlineにはrb-readline gemを使用しますが、すべてで機能するはずです)。
iTerm設定⌘+ ,を開き、Profiles
タブに移動します(Keys
タブは使用できますが、プロファイルにキーバインドを追加すると、プロファイルを保存して複数のコンピューターに同期できます)。keys
サブタブに移動し、次のように入力します。
カーソルの左側のすべての文字を削除します
⌘+ ←Delete16進コードを送信:
0x15
より互換性がありますが、機能としては、カーソルの左側にある文字だけでなく、行全体を削除することがあります。私はこれを個人的に使用し^U
、カーソルの左側にあるものだけを削除するためにzshバインドキーを上書きします(以下を参照)。または
0x18 0x7f
互換性が低く、ノードでは機能せず、デフォルトでは zshで機能しません。zsh を修正するには、以下を参照してください(bash / irb / pryで問題ありません)。機能する場合は、必要な機能を実行します。
カーソルの右側のすべての文字を削除します
⌘+ fn+ ←Deleteまたは⌘+ Delete→16進コードを送信:
0x0b
カーソルの左側の1単語を削除
⌥+ ←Delete16進コードを送信:
0x1b 0x08
エリクサーのIEXの中断、他の場所では問題なく動作するようですまたは
0x17
どこでも機能しますが、IRBの通常の単語の区切りで停止せず、代わりにリテラルスペースが見つかるまで削除します。
カーソルの右側の1単語を削除
⌥+ fn←Deleteまたは⌥+ Delete→16進コードを送信:
0x1b 0x64
カーソルを行の先頭に移動します
⌘+ ←16進コードを送信:
0x01
カーソルを行末に移動
⌘+ →16進コードを送信:
0x05
カーソルを1単語左に移動する
⌥+ ←16進コードを送信:
0x1b 0x62
カーソルを1単語右に移動
⌥+ →16進コードを送信:
0x1b 0x66
元に戻す
⌘+ z16進コードを送信:
0x1f
やり直しは、我々は、その後のzshに修正することができ、未使用のhexcodeにそれを設定することができますので、通常は、bash、zshのか、readlineの中で結合していません
⇧+ ⌘+ Zまたは⌘+ y16進コードを送信:
0x18 0x1f
動作しないものを修正する方法
zshの場合、次のコマンドを実行して、まだ機能していない⌘+ ←Deleteおよび⇧+ ⌘+ Z/ ⌘+のバインディングを設定できます y。
# 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でやり直しを追加するための解決策を見つけることができないので、誰かがそれらのどちらかの解決策を知っている場合は、以下にコメントしてください、それらを追加しようとします。
キーシーケンスを16進数に変換する方法に関するルックアップテーブルを探している人にとって、このテーブルは非常に役立ちます。
$
前のと混同される可能性があることを指摘したいと思いecho
ます(単にそれを削除しますか?)。それ以外は完璧です。ありがとうございました。
bindkey | grep "\^\[b"
と、設定後に別のものが上書きしているかどうかがわかります。これは、必要があるだけ返します#=> "^[b" backward-word
。上書きされている場合は、上書きされている場所を見つけて削除する必要があります。それが不可能な場合は、実行echo 'bindkey "^[b" backward-word' >> ~/.zshrc
しての最後の行に追加し、.zshrc
iTermを再起動すると動作します
keys
は、iTerm設定のタブをチェックして、⌥
+ ←
が何かにマッピングされているかどうかを確認します。もしそうならそれを削除します。リリースをb
すばやく押してからを押すとesc
、正しく動作するかどうかをテストできますb
。単語が左にジャンプするはずです。または、⌥
+ ←
を16進数0x1b 0x42
またはに マップできます0x1b 0x5b 0x31 0x3b 0x35 0x44
。私はそれらの両方が私のために働くことを確認しました。⌥
+ タブまたはタブの←
どちらかで、iTermで上書きされていると思います。profile
keys
keys
上記のチュートリアルに従って、iterm2で主要な設定をセットアップします。
iTerm 3.0.12では、Natural Text Editing
プリセットに切り替えることができます。
iTerm→設定→プロファイル→キー
警告プリセットであるため、以前にバインドしたキーをオーバーライドできます。したがって、プリセットを適用する前に、現在のキーバインディングを保存することをお勧めします。
iTerm2で行末または行頭に移動したい人をすばやく参照するには、上記のリンク http://hackaddict.blogspot.com/2007/07/skip-to-next-or-previous-word- in-iterm.html は、iTerm2では次のように述べています。
Travis Answerを使用して、その指示に基づいてインポートできる動的プロファイルを作成しました。
GabLeRoux / iterm2-macos-dynamic-profile
手順はreadmeにあり、すべて手動で追加するよりもインポートの方がはるかに高速です。これはコメントに隠されていたので、@ gooliのリクエストに従ってこれを回答しました。これをお楽しみください Hop
同じ問題を抱えているが、特にiTerm 2でZshシェルを使用している人を助けるためだけです。Zsh が正しく読み取れないことがわかります/etc/inputrc
、設定で設定したキーバインディングを理解できないことがわかりました。
これを修正するには、次のようなキーバインディングを.zshrc
ファイルに追加する必要があります。
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
上記の例の「e」の前のバックスラッシュに注意してください。リンクされた記事には表示されないため、.zshrc
バインディングを追加するときにファイルに追加します。
ここで説明するように、簡単な手順で実行できます。
デフォルトでは、単語のジャンプ(オプション+→または←)および単語の削除(オプション+バックスペース)は機能しません。これらを有効にするには、「iTerm→設定→プロファイル→キー→プリセットの読み込み...→自然なテキスト編集→ブーム!ヘッドが爆発します」に進みます。
で説明 https://aaronaddleman.com/articles/hexcodes-and-iterm/でます
xxd -psd
キーの16進コードを取得するために使用できます。