🌟

iTerm2 上のコンソールにてカーソルを単語単位で移動する方法

2021/11/26に公開

TL;DR

  1. iTerm2 のキー設定 (Preferences -> Profiles -> Keys) を開き General の Option Key を Normal から Esc+ へと変える
  2. Option+f で一単語前へ進む、Option+b で一単語戻る

解決までの道のり

bash にはデフォルトで単語単位でカーソルを移動させる処理が設定されている。zsh、fish でも同様のキーバインディングがなされている。例えば Alt+f を押すと単語単位で前に進む、Alt+b を押すと単語単位で後ろに戻るというものだ。

Mac では Alt に相当するキーは Option である。そこで Mac にインストールした iTerm2 上のコンソールで Option+f を押してみると ƒ という文字が、Option+b を押してみると という文字が意図に反して入力されてしまう。これは Mac では Option が特殊文字の入力のために準備されているためである。

これを回避するには iTerm2 のキー設定 (Preferences -> Profiles -> Keys) を開き General の Option Key を Normal から Esc+ へと変える。私は移動時には左側の Option Key のみを利用するので冒頭の画像のとおり Left Option key のみ変更した。

解決には検索して発見した https://iterm2.com/faq.html の回答を参考にした。

Q: How do I make the option/alt key act like Meta or send escape codes?
A: Go to Preferences > Profiles tab. Select your profile on the left, and then open the Keyboard tab. At the bottom is a set of buttons that lets you select the behavior of the Option key. For most users, Esc+ will be the best choice.

余談

Mac にて Option を押したときにどのような特殊文字が入力できるのかは、Mac のメニューバーにある文字入力メニューをクリック -> キーボードとビューアを表示 -> option ボタンをクリックという手順でみられる。fの位置が ƒ 、bの位置が になっていることがわかる。

GitHubで編集を提案

Discussion