2015-01 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Prev /
2015-01-04
■ OSXのEmacsにインラインパッチなんていらなかったんや... [Emacs][OSX]
今更ながら年末のEmacs Advent Calendarを読んでいたら、
「Emacs Lispの汎変数(とその他) - Qiita」にさらりとmac-auto-ascii-modeの紹介が。
また、新機能 mac-auto-ascii-mode を有効にすると、ミニバッファにカーソルを移動する際、自動的に英語モードになります。これで日本語入力モードでうっかり M-x shell と入力しようとして M-x しぇっl になるような悲惨な事故をなくすことができます。
2014-11-21のemacs-develでアナウンスされていました。
*** New global minor mode `mac-auto-ascii-mode' for Mac OS X 10.5 and
later. If enabled, it automatically selects the most-recently-used
ASCII-capable keyboard input source on some occasions: after prefix
key (bound in the global keymap) press such as C-x and M-g, and at the
start of minibuffer input.
Note: Strictly speaking, its implementation has a timing issue: the
Lisp event queue may already have some input events that have been
processed by some previous keyboard input source but yet to be
processed by the Lisp interpreter.
[2014-10-25-1]を書いた時はemacs-24.4-mac-5.0.tar.gzだったので、当
時ビルドした方はリビルドが必要です。[2014-10-25-1]の手順は5.2にアッ
プデート済みです。
以下を設定するだけです。
(mac-auto-ascii-mode 1)
IMEの入力モードを変えることなく、M-x出来ているのが分かるかと思います。
少し分かりづらいかな?
残念なのが、ミニバッファから戻ると入力モードがUS固定になること。
mac-input-source()とminibuffer-exit-hookあたりで出来るかと思いまし
たが、うまくいきませんでした。
同じ記事にあった、入力モードに応じたカーソルの色変更の設定も自分好
みに変えつつ追加。
(defun mac-selected-keyboard-input-source-change-hook-func () ;; 入力モードが英語の時はカーソルの色をfirebrickに、日本語の時はblackにする (set-cursor-color (if (string-match "\\.US$" (mac-input-source)) "firebrick" "black"))) (add-hook 'mac-selected-keyboard-input-source-change-hook 'mac-selected-keyboard-input-source-change-hook-func)
hook名が間違っていたので、編集リクエストを送信済みです。
(誤) selected-keyboard-input-source-change-hook
(正) mac-selected-keyboard-input-source-change-hook
P.S.
このためだけにemacs-develを購読するのもなあ。。
Prev /
2015-01 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
最終更新時間: 2015-01-04 23:01