はじめに
筆者の作業環境は、以下のようにOSのサラダボールとなっており、コピーアンドペースト(ctrl + C
→ ctrl + V
※Windows)のようなほとんどのソフトウェアで共通のショートカットがOSによって異なるため今回の記事でまとめます。
- 仕事: Mac
- 自宅のデストップ: Windows/Linuxデュアルブート
- イベント時など出先で使うLaptop: Linux(Windows上のVirtualBoxで動作)
WindowsからMacに移行する方、Linuxのターミナルへコピペしようとしている方の参考になれば幸いです。
注意事項
筆者が元々Windowsを使っていたこともあり、本記事は上記のようにWindowsのショートカット記載します。本記事に出てくるショートカットはTL;TDのルールに則ってLinux, Macで使用できます。ぜひ読み替えてOSごとにショートカットキーを切り替える感覚を楽しんでみてください!!
また、筆者がエンジニアリング作業中に使用するショートカットキーのOS間の対応を、経験的にまとめたものです。そのため、他のショートカットではこの記事とは異なる対応をする場合があるかと思いますがご容赦くだださい。
TL;TD
- 基本:
- ShiftはどのOSでも共通
- Windows/LinuxのAltは、MacのOptionに対応する
- Windows/Linuxの
Ctrl + 'key'
のショートカット = MacのGUIのCommand + 'key'
- 例外
- Macでもシェルのショートカットは
Ctrl + 'key'
- Linuxでターミナルでクリップボード系の操作をする際は
Ctrl + Shift + 'key'
- Macでもシェルのショートカットは
1. 同じキーボードを接続した際のキーの対応
ます各キーの物理的な対応についてです。筆者が共通で使用している外部キーボードをWindows/Macに接続した際にどう認識されるかは、以下の表の通りです。
(Linuxに関してはWindowsキーの呼び方が変わる程度なのでWindowsと併記しています。)
Windows(Linux) | Mac |
---|---|
Shift | Shift |
Ctrl | Ctrl |
Alt | Option |
Windows(Super) | Command |
この内、Shift、Alt/Optionは環境でも比較的同じような感覚で使えます。
- Alt/Option:
- VS codeの矩形選択の制御(
Ctrl + Alt + ↓ or ↑
)
- VS codeの矩形選択の制御(
- Shift: 他のショートカットと合わせて、+αな動作を実施する。
- タブを開く(
Ctrl + T
)にShiftを足すと、直近で閉じたタブを開く(Ctrl + Shift + T
)
- タブを開く(
2. MacのCtrlキーの罠
Windows, Linux, MacでCtrlは同じ名称ですが、MacのCtrlキーはWindows/Linuxと同じ感覚で使うことができません。
- シェルのショートカット
- 実行したコマンドの検索(
Ctrl + R
) - コマンドの強制終了(
Ctrl + C
) - ターミナルをクリーン(
Ctrl + L
)
- 実行したコマンドの検索(
などは、MacでもCtrlで実行します。
しかし
- GUIアプリケーションで使うショートカット
- 編集の保存(
Ctrl + S
) - タブの削除(
Ctrl + W
) - 新規のタブを開く(
Ctrl + T
)
- 編集の保存(
はCtrl
ではなく、Command
キーを使用します。
例 WindowsのCtrl + S
<===> MacのCommand + S
3. Linuxのターミナルでクリップボードを操作する。
2.
まではLinuxは基本的にWindowsと同じショートカットキーを使えるため説明を省略してきました。しかしLinuxのショートカットキーにはターミナルでクリップボードを操作する際に特徴的な操作が必要です。
- クリップボード系のショートカット
- コピー(
Ctrl + C
) - 切り取り(
Ctrl + X
) - 貼り付け(
Ctrl + V
)
- コピー(
これらはLinuxで実行する際にはShiftキーを追加で押すという作業が必要です。
例 WindowsのCtrl + C
<===> LinuxターミナルのCtrl + Shift + C
まとめ
MacではWindows(Linux)がCtrlにまとめられているショートカットが、ターミナル系はCtrlのまま、ターミナル系以外はCommandで行なうと2つのキーに役割が分けられています。
Linuxは基本的にWindowsと同じですが、ターミナルでクリップボード操作を行う際には追加でShiftキーを押す必要がある。