2. 기본 ime가 설정되어 있는 상태이기 때문에 shift-space를 사용하게 되면, nil값이 들어가게 되서, 의도치 않는 ime전환이 생깁니다
아래와 같이 변경해주면 좋습니다
(defun toggle-the-other-input-method() (interactive)
;;(rofime-add current-input-method) ;;BUG: nil 값이 들어가는 문제 있음
(when current-input-method
(rofime-add current-input-method))
3. 그 외에 shift-space 바인딩이 toggle-korean-input-method로 되어 있고, rofime로 동작을 안하는 경우,
dot emacs의 (require 'rofime) 뒤에
아무리 검색해 봐도
아무리 검색해 봐도 그런 기능이 따로 없더군요. 간단하게 한번 만들어봤습니다.
한 문서에서 한국어, 영어, 일본어를 동시에 입력해야 하는 경우 등에 편리합니다.
자주 사용하는 IME와 단축키를 설정하면 여러개의 IME 사이를 간편하게 전환할
수 있습니다. IME의 목록을 ring이라고 하면 다음처럼 작동합니다.
;; RoFIME: Ring of Favorite Input MEthods ;; Set your favorite input methods (setq favorite-input-methods '(nil "korean-hangul3" "japanese" "TeX" "ucs")) (setq default-input-method "korean-hangul3") ;; Set key bindings (global-set-key [?\C-\\] 'toggle-input-method-ring) (global-set-key [?\S- ] 'toggle-the-other-input-method) (global-set-key [?\C-|] 'rofime-rotate-the-others) ;; load settings (cond ((boundp 'favorite-input-methods) (setq input-method-ring favorite-input-methods)) (T (setq input-method-ring ()))) (cond ((boundp 'default-input-method) (add-to-list 'input-method-ring default-input-method))) ;; functions (defun rofime-swap-heads (ring) (cons (cadr ring) (cons (car ring) (cddr ring)))) (defun rofime-swap-the-ends (ring) (append (last ring) (append (reverse (cdr (reverse (cdr ring)))) (list (car ring))))) (defun rofime-reverse (ring) (reverse ring)) (defun rofime-rotate (ring) (if (< (length ring) 2) ring (append (cdr ring) (list (car ring))))) (defun rofime-add (ime) (add-to-list 'input-method-ring ime)) (defun rofime-pop () (interactive) (pop input-method-ring) (set-input-method (car input-method-ring))) (defun rofime-message () (interactive) (message "%S" input-method-ring)) (defun toggle-the-other-input-method() (interactive) (rofime-add current-input-method) (setq input-method-ring (rofime-swap-heads input-method-ring)) (set-input-method (car input-method-ring)) (rofime-message)) (defun toggle-input-method-ring() (interactive) (rofime-add current-input-method) (if (equal (car input-method-ring) current-input-method) (setq input-method-ring (rofime-rotate input-method-ring))) (set-input-method (car input-method-ring)) (rofime-message)) (defun rofime-rotate-the-others () (interactive) (setq input-method-ring (cons (car input-method-ring) (rofime-rotate (cdr input-method-ring)))) (rofime-message))====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas
====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas
포인트 +1
할 수 없어서 아쉽습니다.
이분... 영어,
이분... 영어, 일본어가 가능함은 물론... elisp까지...
완전 능력자시네요.
plus 1
plus 1
잘쓰고 있습니다. :)
-------
good job :)
-------
-------
good job :)
-------
세벌 최종, 드보락 쓰고 있으면서 버그도 있고, 좀
세벌 최종, 드보락 쓰고 있으면서 버그도 있고, 좀 필요해서 약간 수정했습니다.
만들어주셔서 감사합니다.
1. default-input-method가 있음에도 emacs 기본 ime로 설정됩니다.
L.17
2. 기본 ime가 설정되어 있는 상태이기 때문에 shift-space를 사용하게 되면, nil값이 들어가게 되서, 의도치 않는 ime전환이 생깁니다
아래와 같이 변경해주면 좋습니다
(defun toggle-the-other-input-method() (interactive) ;;(rofime-add current-input-method) ;;BUG: nil 값이 들어가는 문제 있음 (when current-input-method (rofime-add current-input-method))3. 그 외에 shift-space 바인딩이 toggle-korean-input-method로 되어 있고, rofime로 동작을 안하는 경우,
dot emacs의 (require 'rofime) 뒤에
를 넣어주면 정상 동작합니다.
nil.
댓글 달기