AutoHotkeyを使いMac風のショートカットを作る

今はWindowsユーザーだが、Macのショートカットは無駄がなく素晴らしい。個人的には一番好きなキー配列であり、ショートカットの豊富さ。そこでAutoHotkeyを使い、Mac風のショートカットを追加してみたので参考にどうぞ。ただ、macみたいにAltキーをCommandみたいに変更するのではなく元々のベースは崩さず追加していく。

また、あくまで個人的によく使うショートカットなのでmacにあるショートカットが追加されていない場合もあるのでご了承ください。

テキスト編集用ショートカット

説明ショートカット
1: カーソル位置から行頭/行文末までのテキストを選択 Ctrl + Alt + Shift + [←] or [→]
2: カーソル位置から文書の先頭/末尾までのテキストを選択 Ctrl + Shift + Win + [↑] or [↓]
3: 一行選択 Ctrl + Shift + L
4: 一行削除 Ctrl + Shift + BackSpace
5: カーソルを行頭/文末に移動 Ctrl + [↑] or [↓]

コード

; 1: カーソル位置から行頭/行文末までのテキストを選択
^+!Left::Send "+{Home}"
^+!Right::Send "+{End}"

; 2: カーソル位置から文書の先頭/末尾までのテキストを選択
^+#Up::Send "^+{Home}"
^+#Down::Send "^+{End}"

; 3: 一行選択
^+L:: {
    Send "{Home}{Shift Down}{End}{Shift Up}"
}

; 4: 一行削除
^+BackSpace:: {
    Send "{Shift Down}{Home}{Shift Up}"
    Send "{BackSpace}"
}

; 5: カーソルを行頭/文末に移動
^Up::Send "{Home}"
^Down::Send "{End}"

エクスプローラー関連のショートカット

説明ショートカット
1: ゴミ箱を空にする Ctrl + Shift + Delete
2: ファイル名の変更 Ctrl + Enter
3: 右クリック Ctrl + Shift + Enter
4: タブの移動 Ctrl + Alt + [←] or [→]
5: 各フォルダーを開くショートカット下記に記載

コード

このコードはエクスプローラーがアクティブな時でしか動作しないようになっています。

; Explorer
#HotIf WinActive("ahk_exe explorer.exe")
    ; 1: ゴミ箱を空にする
    ^+Delete:: {
        delete := MsgBox("ゴミ箱にあるファイルを削除してよろしいですか?", , "Y/N")
        if delete = "Yes"
            FileRecycleEmpty "C:\$Recycle.Bin\X-x-x-xx-xxxxxx-xxx-xxxx-xxxx-x"
    }

    ^Enter::F2
    ^+Enter::+F10
    ^!Right:: Send "^{Tab}"
    ^!Left:: Send "^+{Tab}"

    ; 5: 各フォルダーを開くショートカット
    F10:: Run "::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}"
    F11:: Run "::{374DE290-123F-4565-9164-39C4925E467B}"
    F12:: Run "::{3ADD1653-EB32-4CB0-BBD7-DFA0ABB5ACCA}\Screenshots"
    F8:: Run "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
#HotIf

ゴミ箱を削除するFileRecycleEmpty "C:\$Recycle.Bin\X-x-x-xx-xxxxxx-xxx-xxxx-xxxx-x"のパス指定はご自身で入力する必要があります。そのパスの取得方法はPowerShellを起動してwhoami /userと入力しEnter

PS C:\Users\user> whoami /user
USER INFORMATION
----------------
ユーザー名 SID
========== =============================================
user\name   S-s-s-ss-sssssss-sssssss-sssss-ssss

SIDのコードがあなたのごみ箱のディレクトリ名になるので上記のコードのX-x-x-xx-xxxxxx-xxx-xxxx-xxxx-xS-s-s-ss-sssssss-sssssss-sssss-ssssを置き換えて保存すればOK。

各フォルダーを開くショートカットについて

AutoHotKeyではCLSIDリストといった固有の文字列でディレクトリパスを取得することが可能です。詳細情報はリンク先をご覧ください。ここではよく使うであろうパスをご紹介します。

説明ショートカット
デスクトップ::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
ダウンロード::{374DE290-123F-4565-9164-39C4925E467B}
スクリーンショット::{3ADD1653-EB32-4CB0-BBD7-DFA0ABB5ACCA}\Screenshots
Windows(C:)::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

基本的に新しいウィンドウが開かれるので好みは分かれる。個人的には新しいタブを開きクイックアクセスに登録しておくほうが早く切り替えられるので必要はない気がする。

その他のショートカット

説明ショートカット
ページスクロールAlt + [↑] or [↓]
タブの移動 Ctrl + Alt + [←] or [→]
アプリを閉じる::{374DE290-123F-4565-9164-39C4925E467B}

コード

; タブの移動
^!Left::Send "^{PgUp}"
^!Right::Send "^{PgDn}"

; アプリを閉じる
^+Q::Send "!{F4}"

; ページスクロール
#HotIf !WinActive("ahk_class XamlExplorerHostIslandWindow")
!Up:: {
    Send "{WheelUp 5}"
}
!Down:: {
    Send "{WheelDown 5}"
}
#HotIf