Macっぽいキー操作でMSYS2のterminalを使うための設定
職場環境の制約等で、MacやMSYS2(Windows)のterminalを操作していると。
キー操作の違いにストレスを感じるので、
なるべく違和感なく操作できるように、
MSYS2側をMacっぽく操作できるように設定してみました。
# Macの操作方法が良いという理由ではなく、
# 個人的にMacの操作方法に慣れているからです。
この手順では以下のソフトを使います。
- MSYS2/mintty
- tmux
- Change Key … キー配置変更ソフト
- AutoHotkey … キーに割り当てできるマクロソフト
このエントリでは、実施した設定方法をまとめておきます。
MSYS2とminttyをセットアップ
以下のサイトから、MSYS2のインストーラーをダウンロードし実行します。
MSYS2 installer
http://msys2.github.io/
tmuxをセットアップ
terminalにタブ切替機能が欲しいので、
以下のようにtmuxをインストールします。
$ pacman -S tmux
タブ切替(tmuxではタブとは言わないですが)をmacっぽくできるように、
以下のようにtmux.confを設定します。
~/.tmux.conf
set-option -g mouse on
set-option -g status-position top
set-window-option -g window-status-format " #I: #W "
set-window-option -g window-status-current-format "#[fg=colour255,bg=colour27,bold] #I: #W #[default]"
このtmux.confでカスタマイズしているのは以下の点です。
- マウス操作を有効にする
- タブバーの位置を上側にする
- 選択中のタブ名の色を変える
この設定には、以下の記事を参考にさせていただきました。
tmux の status line の設定方法 | Qiita
http://qiita.com/nojima/items/9bc576c922da3604a72b
ターミナルマルチプレクサ tmux をカスタマイズする | Qiita
http://qiita.com/b4b4r07/items/01359e8a3066d1c37edc
CapsLockを右Ctrlに置き換え
次に、MacのJIS配列のキーボードでは、
「A」の左側「CapsLock」の位置にcontrolキーがあるので、
ここにControlキーを配置します。
以下のサイトから、Change Keyをダウンロード・展開します。
Change Key | 窓の杜
http://forest.watch.impress.co.jp/library/software/changekey/
「ChgKey.exe」を管理者権限で実行して、
以下のように「CapsLock」を「Ctrl右」に変更します。
# 次の項で説明しますが、
# CapsLockに「Ctrl『右』」を割り当てることで、
# 「AutoHotkey」で「Ctrl『左』」との使い分けができます。
登録メニューから、変更を登録してWindowsを再起動します。
AutoHotkeyによるキー割り当て
前項で「CapsLock」を「Ctrl右」に変更したので、
「AutoHotkey」のマクロを使って、
「Ctrl右」(CapsLock)に、Macの「control」キーの操作を、
「Ctrl左」にMacの「command」キーの操作を、割り当てていきます。
以下のサイトから、AutoHotkeyをダウンロード・インストールします。
AutoHotkey
https://autohotkey.com/
スタートアップにautohotkey.ahk
のようなファイル名で、マクロファイルを作成します。
Windows10の場合、以下のようなパスになると思います。C:\Users\<ユーザ名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
autohotkey.ahk
#IfWinActive ahk_class mintty
<^c:: Send, ^{Insert}
<^v:: Send, +^{Insert}
<^t:: Send, ^bc
+^Right:: Send, ^bn
+^Left:: Send, ^bp
#IfWinNotActive ahk_class mintty
>^a:: Send, {Home}
>^k:: Send, ^{Delete}
>^e:: Send, {End}
>^f:: Send, {Right}
>^b:: Send, {Left}
>^p:: Send, {Up}
>^n:: Send, {Down}
>^h:: Send, {Backspace}
>^d:: Send, {Delete}
>^m:: Send, {Enter}
このマクロでは、
MSYS2(mintty)を使っているときには、
「Ctrl左」で、コピー&ペースト、タブ追加、タブ切替をできるように。
MSYS2(mintty)を使っていないときは、
「Ctrl右」(CapsLock)で、方向キー、削除キーなどを割り当てています。
各キーの割り当ては以下のMacのキーボードショートカットの一覧を参考にしています。
Mac のキーボードショートカット | Apple Inc.
https://support.apple.com/ja-jp/HT201236
AutoHotkeyのマクロの設定方法は、以下のWikiがまとまっていてわかりやすいです。
AutoHotkey Wiki
http://ahkwiki.net/
個人的には、MSYS2(mintty)の操作している時に、
「Ctrl左」+「C」でコピーでき、
本来のCtrl+Cが必要な時は「Ctrl右」(CapsLock)+「C」が使えるのが
特に気に入っています。