🔙

iTerm2で自然にカーソル移動をする

2024/12/30に公開

結論

SettingsProfiles(編集したいプロファイル)KeysKey MappingsPresets...Natural Text Editing

で、他の Mac アプリと同じように ⌘ + 矢印キー で行頭・行末移動、option + 矢印キー で単語移動ができるようになる。

困っていたこと

iTerm2 で、Mac アプリでありがちなカーソル移動をしようとすると、エスケープシーケンスがそのまま入力されてしまったりそもそも何も起こらなかったりして、辛い気持ちになる。

iTerm2でoption+矢印キーでカーソル移動を試みても、エスケープシーケンスが入力されてしまう

bash や zsh などのシェルには独自のキーバインドが設定されており、例えば zsh なら Meta + b で前の単語に移動できるのは知っている。しかし僕はシェルごときに彼らのためだけの特別対応をするなんてことは嫌だ。郷に入っては郷に従え、Macに入ってはMacの標準キーバインドに従え。

実際のところ、これまでシェルのキーバインドを使って操作していていて、大きな問題は無かった。でもシェルやら VS Code やら Notion やら何やらを行ったり来たりする中で、シェルだけキーバインドが違うのがほんの少しだけ脳の負担になっている感覚もあった。せっかく年末なので、面倒くさがらずにちゃんと設定する。

解決方法

iTerm2 にはキーバインドを設定できる機能があるので、それを使えば良い。シェルでも Mac のデフォルトのキーバインドを使いたい需要はそれなりにあるらしく、iTerm には標準で「Natural Text Editing」というプロファイルが搭載されている。

Settings → Profiles → (編集したいプロファイル) → Keys → Key Mappings → Presets... → Natural Text Editing と操作して設定する。

ハッピーに操作できるようになる。

iTerm上でもoption+矢印キーでカーソル移動ができるようになった。Mac標準と同様に、⌘+バックスペースで行削除なんかもできる。

Discussion