LoginSignup
6
3

Emacs使いがWindows11で行う初期設定メモ

Last updated at Posted at 2023-05-31

初めに

過去の「しがらみ」で指が勝手にemacsキーバインドの操作を行うような人間が、Windows11 のノートを使わざるを得ないときに、少しでも快適に使うための試行錯誤メモです。WindowsPCリプレースを機会にメモしていってます。

キー関連の設定

ctrl-capsの入れ替え

多くのemacs使いは「A」キーの左側にCtrlがあるべきと考えるはずなので、真っ先にctrlとCapsLockのキーの入れ替えをします。
多くの場合は、microsoftが提供しているctrl2capsのインストールで解決できます。
まず、ctrl2capsを任意のフォルダにダウンロードし、Ctrl2cap.zip を展開します。次に、管理者権限でターミナルを起動し展開したフォルダに移動して "./ctrl2cap /install" を実行した後に再起動します。

エクスプローラでのダブルクリックではインストールできないのに注意。

Aの左がCtrlなHappy Hack Keyboradなどのほか、CapsLockキーと左Ctrlキーを入れ替え機能、交換用キートップが付いているキーボードを使う方法もあります。RealForceMajestouch Convertible 2など高価でも良いので、作り続けて欲しいです。

日本語変換キー

MacOSと同じように、IMEの入力切替を Ctrl-Space に、日本語キーボードならば「変換」と「無変換」にも割り当てます。IMEアイコンを右クリックし、「設定」⇒「キーとタッチのカスタマイズ」を選択し、「キーの割り当て」をONにして、無変換キーを「IME-オフ」、変換キーを「IME-オン」、Ctrl+Spaceを「IME-オン/オフ」とします。

私のIME入力切り替えの好みは Ctrl+\ なので、これを目指して、Microsoft Powertoysを試したができませんでした。

keyhac

プロセスごとにキーバインドを変えられるkeyhacを導入します。たまに動作が怪しくなる時もありますが、ほとんどの場合は強制終了し再起動することで復帰できるので、現状ではいちばん使えると思ってます。

インストール

keyhacの最新版を https://sites.google.com/site/craftware/keyhac-ja からダウンロードし、適当なフォルダに展開します。私はデスクトップにtoolsというフォルダを作り、圧縮ファイルに含まれるkeyhacフォルダ以下一式を展開、コピーしてます。

githubからもダウンロードできますが、こちらには、pythonXX.dll が含まれていないので、必要はdllファイルを、dll-filesなどからダウンロードして、keyhacと同じフォルダにコピーします。

キーバインド設定

キーバインドの設定は、Fakeymacsを参考にさせていただいています。zipファイルなどでダウンロードし、含まれている config.py を、keyhacと同じディレクトリにコピーします。

keyhac.exe を実行(もしくは設定のリロード)で、設定したキーバインドに変換されます。keyhacと設定ファイルにバージョンずれがあると正しく動かない場合があることに留意。

自動起動

特定ユーザでログインしたときのみ実行するようにします。下のフォルダに、keyhac.exe のショートカットを貼り付けます。

1.スタートボタンを「右クリック」し、「ファイル名を指定して実行」をクリック
2.表示された入力ボックス(※)に、「shell:startup」と入力
3.表示されたスタートアップフォルダに、keyhac.exeのショートカットを追加

※: C:\Users[UserName]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

自動起動しない場合は、ショートカットを削除します。

もし起動時にpythonXX.dllが見つからないエラーがでる場合は、keyhacを配置したフォルダを環境変数Pathに追加します。

参考:https://www.javadrive.jp/python/install/index3.html#sectionl

設定チューニング

keyhac起動後、常駐エリアのアイコンを右クリックし、「設定を編集」をクリックするとを設定ファイル config.py が編集できます。このファイルでキーバインド自体の設定に加えて、キーバインド変更の対象外ソフトも指定できます。

Ctrl-Space をIMEオン/オフで使う

Ctrl-Space をIMEオン/オフで使うために、下記行の先頭に # を追加しコメントアウトする。

# define_key(keymap_emacs, "C-Space",   reset_search(reset_undo(reset_counter(set_mark_command))))

キーバインド変更の対象外ソフトの指定

キーバインド変更しないソフトの実行ファイル名を、設定ファイル内の not_emacs_target に追記していきます。一例は下の通り(少し古いかも)

    not_emacs_target     = ["bash.exe",           # bash
                            "mintty.exe",         # mintty
                            "emacs.exe",          # Emacs
                            "emacs-X11.exe",      # Emacs
                            "emacs-w32.exe",      # Emacs
                            "gvim.exe",           # GVim
                            "RLogin.exe",         # rlogin
                            "xyzzy.exe",          # xyzzy
                            "VirtualBox.exe",     # VirtualBox
                            "ubuntu.exe",         # ubuntu on wls
                            "wsl.exe",            # Windows Subsystem for Linux(ubuntu)
                            "WindowsTerminal.exe", # Windows Terminal
                            "OpenConsole.exe",    # WindowsTerminal
                            "mstsc.exe",          # リモートデスクトップ
                            "TurboVNC.exe",       # TurboVNC
                            "vncviewer.exe"]      # UltraVNC

これらのカナでIME起動のみ変更したい場合は ime_target に追記します。私はターミナルソフトを追加してます。

その他

キーバインドとは関係ないものの、定番的に行う設定のメモです。

Windows Subsystem for Linux2 (WSL2)の準備

WSL2 は、Windows10のバージョン2004、ビルド19041以降で使えます。

Windowsの設定変更

GUIなら、「コントロールパネル」の「プログラム」の「Windowsの機能の有効化または無効化」を表示し、「仮想マシン プラットフォーム」のチェックボックスをオンにします。WSL1も併用するなら、「Linux用Windowsサブシステム」もONにします。

CUIなら、管理者権限で PowerShell を開き、以下を実行します。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

反映のため再起動します。

初期状態のubuntuターミナルのプロパティから、オプションタブでカーソルサイズを「中」、フォントタブで、MS ゴシックの16、画面の色タブの文字を白、背景を黒にするとまずまず慣れた状態になりました。あとemacs24のデフォルトだと黒背景で見にくい色があるので、下のようにwombatテーマを設定。

cat ~/.emacs.d/init.el
(load-theme 'wombat t)

エクスプローラーでWSL内のファイルを、\WLS$ というネットワークドライブで表示できるので、ショートカットに登録しておく。なお、ubuntu から、Windowsアプリ例えば、エクスプローラーなら explorer.exe で起動できる。

ターミナルソフト

好みがあるでしょうが、最近は、Windows Terminal を使っている。Ctrk-K問題は、keyhacの設定変更で解消済み。

Windows Terminal

インストール

Microsoft Store で Windows Terminalを検索しインストール

設定

いろいろしたが失念

Windowsの設定

ここから先はオマケです。

ウィンドウを端に移動したとき最大化しない

スタートメニューから「設定」⇒「システム」⇒「マルチタスク」を選択し、「ウインドウのスナップ」をオフにする

IME切り替え表示を消す

  1. 画面右下のIMEアイコンで右クリックしプロパティ(R)を選択
  2. 「IME入力モード切替の通知」欄の「画面中央に表示する」のチェックボックスを外す

タスクバー

  • タスクバーのプロパティから以下を変更
    「タスクバーを自動的に隠す」:オン
    「小さいタスクバーボタンを使う」:オン

ツール類

DropBox

私の環境では、OneDriveよりも安定しているのでこちらに移行。デスクトップアプリをダウンロードしてインストール。

OneDrive

Office365を使っていれば、1TB使えるなど便利です。重要な Windowsフォルダー (デスクトップ、ドキュメント、画像など) として同期してしまうと、Beckyなどでこれらのフォルダにデータを置いているソフトを複数デバイスで使うと、動作がおかしくなることがあります。
なので、タスクバーの通知エリアのOnedrive のアイコンを右クリックし、設定から重要なフォルダの同期を止めます。さらに、「設定」→「アプリ」→「スタートアップ」でOneDriveを自動起動しないように変更。

エディタ

WSLでemacsが使えるので、ちょっとした操作だけなら exzzy で十分。ただし、undo/redoをよく使う場合は、keyhacと競合しているので、キーバインドを変える必要があります。

SSHクライアント

WSLで動く ubuntu on windows でコマンドラインでsshが便利。

メーラー

Becky!からeM Clientを経由して、今はSparkを利用。ヘッダーを確認するなどの細かい操作は不便だが、マルチOS(Windows/iOS/iPadOS/MacOS)で同じような操作感覚で使える点が気に入っている。

ブラウザ

SRware IronからBraveに移行。複数デバイス間でブックマークなどの共有の他、広告を受けることで(僅かな)仮想通貨Batを手に入れることが可能で。ブラウザ自体にTor機能がついてます。

インストールする拡張機能

LastPass

パスワード管理、サイト別のパスワード管理用。

https evrywhere

できるだけ暗号化したSSLでブラウジングするために利用

最後に

個人的に備忘録をかねて追記していきます。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3