repeat.el とウィンドウ幅の調整
ウィンドウ幅の調整コマンドは C-x }
, C-x {
, C-x ^
に割り当てられていて、連続的に押下するには不便なキーバインドになっている。
ネットを見るといろいろ対策はあって、インタラクティブに調整できるようなコマンドをつくったり、必要なときにキーボードマクロを定義するような回避策があった (C-x e e e ...
で連続的にコマンドを発行できる) 。
いろいろ試したけど、自分は標準ライブラリの repeat.el を使って調整するようにした。 特別楽になったというわけじゃないけど、コマンド同士をうまく連携できている感じがしてよい。
なお、オリジナルの C-x z
は C-x C-z
(suspend-frame) とかぶりやすいので、C-c .
にバインドした。Vim のドットリピートのマネである。
タイトルバーをモダンな感じにする
モダンな見た目になって大変よいです。
(when (eq window-system 'ns) (add-to-list 'default-frame-alist '(ns-transparent-titlebar . t)) (add-to-list 'default-frame-alist '(ns-appearance . dark)))
すぐに適用したい場合は *scratch*
なり M-:
なりで
(set-frame-parameter nil 'ns-transparent-titlebar t) (set-frame-parameter nil 'ns-appearance 'dark)
とするとよいと思います。
フォーカスがあたったときの入力ソースを英数にする
Emacs にフォーカスがあたったときに日本語入力になっていて、M-x あたりを入力すると大変イライラする。
であれば、フォーカスがあたったときに、英数キー (キーコード102) を入力するような何かを実行すればいい。
こういうときは Applescript で調べるとだいたい解決するわけで、下のようなフックができた。
(when (eq system-type 'darwin) (add-hook 'focus-in-hook 'ns-input-source-us) (add-hook 'after-init-hook 'ns-input-source-us) (defun ns-input-source-us () (interactive) (do-applescript "tell application \"System Events\" to key code 102")))