職場環境の制約等で、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でカスタマイズしているのは以下の点です。

  • マウス操作を有効にする
  • タブバーの位置を上側にする
  • 選択中のタブ名の色を変える

macmsys2_2

この設定には、以下の記事を参考にさせていただきました。

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右」に変更します。

macmsys2_1

# 次の項で説明しますが、
# 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」が使えるのが
特に気に入っています。