コーディング速度が向上するキーボードショートカット
ソースコードをコーディングする際、コピー&ペーストを利用することは多く、その際は、ショートカットを活用してコーディング速度の向上を図っている人は多いと思います。このコピー&ペースト以外にも、Eclipseには、コーディング速度を向上させる便利なショートカットがあります。それを紹介します。
キャレットを移動させるショートカット
コーディング途中、キャレットを現在の位置から別のところに移動させることは多々あります。もちろん、マウスでその位置をクリックしてもいいですが、近いところでは、矢印キーを使うことも多いでしょう。そのうち、左右の矢印キーは、原則1文字ずつしか移動しません。その移動をジャンプするショートカットがあります。
例えば、図2は前回のリスト1の画面であり、現在、7行目のnewの次にキャレットがあります。
この状態で、macOSでは[⌥(option)]+[←]、Windowsでは[Ctrl]+[←]を入力すると、newの手前までキャレットがジャンプします(図3)。
このようにキャレットがジャンプするショートカットを表2にまとめておきます。
内容 | macOS | Windows |
---|---|---|
前の単語に移動 | ⌥+← | Ctrl+← |
次の単語に移動 | ⌥+→ | Ctrl+→ |
行の先頭に移動 | ⌘+← | Home |
行の末尾に移動 | ⌘+→ | End |
まとめて選択できるショートカット
Eclipseに限らず、文字の入力画面で、Shiftキーを押しながら矢印キーを操作すると、キャレットが移動するだけでなく、移動した分だけ選択状態になります。それと同じことが、前項で紹介したショートカットにも適用できます。表3に、表2のショートカットにShiftが付与されたショートカットをまとめておきます。
内容 | macOS | Windows |
---|---|---|
前の単語に移動 | ⌥+Shift+← | Ctrl+Shift+← |
次の単語に移動 | ⌥+Shift+→ | Ctrl+Shift+→ |
行の先頭に移動 | ⌘+Shift+← | Shift+Home |
行の末尾に移動 | ⌘+Shift+→ | Shift+End |
これらのショートカットは、表2と同じジャンプの仕方をするだけでなく、その移動した分だけ選択状態になります。例えば、図2と同じくnewの次にキャレットがある状態で、macOSでは[⌥(option)]+[Shift]+[←]、Windowsでは[Ctrl]+[Shift]+[←]を入力すると、newの手前までキャレットがジャンプするだけでなく、移動した分だけ選択状態になります(図4)。
まとめて削除できるショートカット
前項で紹介したショートカットを利用して、単語なり行なりをまとめて範囲選択した後、その部分を書き換えるならばいいのですが、削除したい場合もあるでしょう。その場合、選択の上[Backspace]、あるいは、[Delete]キーを入力してもいいですが、削除に関するショートカットもあります。それが表4です。
内容 | macOS | Windows |
---|---|---|
前の単語を削除 | ⌥+Backspace | Ctrl+Backspace |
次の単語を削除 | ⌥+Delete(fn+Backspace) | Ctrl+Delete |
キャレットの位置から 行の末尾まで削除 |
⌘+Shift+Delete(fn+Backspace) | Ctrl+Shift+Delete |
行削除 | ⌘+D | Ctrl+D |
例えば、前項同様、図2のように、newの次にキャレットがある状態で、macOSでは[⌥(option)]+[Backspace]、Windowsでは[Ctrl]+[Backspace]を入力すると、単語newがまるまる削除され図5のようになります(もちろん、この状態ではコンパイルエラーとなりますが)。
なお、次の単語を削除するショートカット、および、キャレットの位置から行の末尾まで削除するショートカットに関して、[Delete]キーを利用します。macOSにおいて、Mac Book ProやMac Book Airなど、[Delete]キーがないキーボードの場合は、[fn]+[Backspace]を代用します。
行を操作するショートカット
本節の最後に、行を操作するショートカットを紹介します。
例えば、図2のように、7行目の途中にキャレットがあり、8行目に空行を挿入して、そこにコード記述したいとします。通常ならば、7行目の末にキャレットを移動して、そこで改行キーを入力します。一方で、この行末までキャレットを移動することなく次の行に空行を挿入できるショートカットがあります。それが、[Shift]+[Enter]です(macOS、Windows共通)。図6は、実際に、図2にキャレットがある状態で、[Shift]+[Enter]を入力した画面です。
このような行を操作するショートカットを表5にまとめておきます。
内容 | macOS | Windows |
---|---|---|
現在行の下に行を挿入 | Shift+Enter | Shift+Enter |
現在行の上に行を挿入 | ⌘+Shift+Enter | Ctrl+Shift+Enter |
行をコピー | ⌘+⌥+↓ | Ctrl+Alt+↓ |
行を複写 | ⌘+⌥+↑ | Ctrl+Alt+↑ |
1行下へ移動 | ⌥+↓ | Alt+↓ |
1行上へ移動 | ⌥+↑ | Alt+↑ |
この表5のショートカットは慣れれば慣れるほど、コーディング速度が上がっていきます。
例えば、図7のように9行目の途中にキャレットが存在するとします。
この状態で、macOSならば、[⌘]+[⌥]+[↓]、Windowsならば[Ctrl]+[Alt]+[↓]を入力すると、図8のように、行が下にコピーされます。
このショートカットは、1行だけでなく、複数行にも適用できます。例えば、図9のように8行目と9行目が不完全でも選択された状態だとします。
この状態で、先のショートカットを入力すると、図10のように2行分まるまる下にコピーされます(変数名が重なるのでコンパイルエラーとなりますが)。
コピーだけでなく、表5にあるように、移動もショートカットで簡単にできます。例えば、図2のように、7行目の途中にキャレットがある状態で、macOSならば[⌥]+[↑]、Windowsならば[Alt]+[↑]を入力します。すると、図11のように、行がまるまる移動します。
もちろん、矢印キーを[↓]にすると、下に移動します。先の例ではキャレットが存在する1行のみが移動しましたが、図9のように複数行選択された状態での移動も可能です。
また、移動先でインデントが変化する場合は、そのインデントに合わせてくれます。図12は、元は7行目にあったコードをmainメソッドの外にまで移動させた状態です。
もちろん、元々7行目にあったコードをこの位置に移動させた場合は、全体としてはコンパイルエラーとなりますが、インデントが自動で変化したことは見て取れるでしょう。