;; Emacs-Ubuntu Linux Mint 에서 4개 언어(한,영,중,러)를 입력할 때,
;; fcitx + ielm (emacs 내장 언어입력) 을 사용한다.
;;
;; fcitx 가 시스템 키 이벤트를 최초로 처리하므로,
;; 한글,중국어,러시아 를 추가하고, Ctrl+Shift 로 언어전환(기본설정)을 매핑한다.
;;
;; emacs 에서 입력에서 fcitx 는 중국어 입력상태에서 먼저 처리하므로
;; fcitx 에서는 중국어 입력상태로 두고 중국어를 입력하면 돼고,
;; emacs ielm 에서는 한글,러시아,영어를 입력 한다.
;; 영문은 ielm 에서 한글,Russian 상태에서 같은키로 toggle 로 바꿔서 입력한다.
;; -- russian start here
;(global-set-key (kbd "C-\\") 'toggle-russian-input-method)
;; -- v.1 colflict with korean dired
;;(set-language-environment "Cyrillic-CP1251")
;(defun my-russian-setup ()
; "Set up my private Russian environment."
; (if (equal current-language-environment "English")
; (setq default-input-method "Cyrillic-CP1251")))
;(add-hook 'set-language-environment-hook 'my-russian-setup)
;; -- already unsetted in upper section - (hangul-to-hanja-conversion)
;; (global-set-key (kbd "<Hangul_Hanja>")) ;<Hangul_Hanja> <- quail/hangul.elc
;; (global-unset-key [(f9)])
;; -- v.2
;; https://frageit.de/questions/12032231/is-it-possible-to-alternate-two-input-methods-in-emacs
;; Input method and key binding configuration.
(setq alternative-input-methods '(
("russian-computer" . [?\C-\\])
("chinese-py-punct" . [?\C-|])
("korean-hangul" . [?\C-']) ; ("korean-hangul" . [?\C-=])
("english" . [?\C-.])
; ("english-dvorak" . [?\C-.])
; ("korean-hangul" . "Hangul_Hanja")
; ("korean-hangul" . [?\C-m])
; ("german-postfix" . [?\C-\M-|])
))
(setq default-input-method
(caar alternative-input-methods))
(defun toggle-alternative-input-method (method &optional arg interactive)
(if arg
(toggle-input-method arg interactive)
(let ((previous-input-method current-input-method))
(when current-input-method
(deactivate-input-method))
(unless (and previous-input-method
(string= previous-input-method method))
(activate-input-method method)))))
(defun reload-alternative-input-methods ()
(dolist (config alternative-input-methods)
(let ((method (car config)))
(global-set-key (cdr config)
`(lambda (&optional arg interactive)
,(concat "Behaves similar to `toggle-input-method', but uses \""
method "\" instead of `default-input-method'")
(interactive "P\np")
(toggle-alternative-input-method ,method arg interactive))))))
(reload-alternative-input-methods)
;; -- russian ends here
Subscribe to:
Post Comments (Atom)
-
* postgres - pgmodelear ** new version > download: https://github.com/pgmodeler/pgmodeler sudo apt-get install qt-sdk sudo apt-get ins...
-
--> from: http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html Introduction to Literate Programming ...
-
유럽 연합 법규는 유럽 연합 방문자에게 블로그에 사용되는 쿠키에 대한 정보를 제공하도록 규제하고 있습니다. 또한 대부분의 경우 이러한 법규는 사용자의 동의를 얻도록 요구합니다. 이 규제를 준수할 수 있도록 Google은 귀하의 블로그에 Google이 ...
No comments:
Post a Comment