Макет дворака в Emacs по умолчанию? - PullRequest
2 голосов
/ 01 апреля 2012

Я недавно переключился на набор текста на макете Дворжака.Но через некоторое время я решил использовать Dvorak только в Emacs - так что все другие привязки клавиш в моей системе не будут прикручены.

Итак, я взял следующее из некоторого вопроса на StackOverflow.com:

(defadvice switch-to-buffer (after activate-input-method activate)
  (activate-input-method "english-dvorak"))

Переключает метод ввода во всех новых буферах на дворак.Он работает нормально, но есть проблема - в «чистом» буфере сохраняется английская раскладка по умолчанию, и все файлы, выбирающие «диалоговые окна» (Cx Cf), также сохраняют его - что немного раздражает, потому что для этого нужно переключить «типизацию мышления»несколько раз в минуту.

Есть ли способ включить макет dvorak глобально в emacs - и при этом сохранить ярлыки по умолчанию (например, Cx на английском по умолчанию)?

EDIT:

Ответ на мои проблемы:

(defadvice switch-to-buffer (after activate-input-method activate)
  (activate-input-method "english-dvorak")) 
(add-hook 'minibuffer-setup-hook (lambda () (set-input-method "english-dvorak")))

1 Ответ

3 голосов
/ 02 апреля 2012

Вы можете попробовать что-то вроде (гарантированный 100% непроверенный код):

(define-minor-mode dvorak-minor-mode "Use Dvorak IM." :lighter nil
  (if dvorak-minor-mode (active-input-method "english-dvorak")))
(define-global-minor-mode dvorak-mode dvorak-minor-mode dvorak-minor-mode)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...