emacs에서 드보락과 세벌식을 사용하고 싶습니다
글쓴이: hwiorb / 작성시간: 수, 2006/09/20 - 11:43오전
윈도우 xp에서 emacs를 사용하려고 합니다.
제가 드보락과 세벌식을 배워서 사용중인데...
emacs를 사용하려면 드보락을 쿼티로 바꾸고 사용해야 합니다.
(윈도우 IME가 아니라, 키후킹 프로그램을 써서 드보락을 사용합니다. 리눅스에서 Dvorak을 사용하는 것과 같습니다.)
단축키 문제 때문에 그럽니다. 그런데 이 단축키만 빼고 그냥 글쓸땐, 드보락(과 세벌식)을 사용하고 싶습니다.
Quail 안에 세벌식 코드를 보니까 재밌는 방식으로 되있던데, 이걸 어떻게 할 수 없을까요?
(emacs에선 가능하리라 믿습니다)
아, 그런데 위와 같은 방식말고 Dvorak으로 돌아가면서 C-q(드보락) 를 누르면 C-x(쿼티) 로 해주는 방식도 있을까요?
그러면 상당히 편할 것 같네요.
(Ctrl키나 Meta키를 누를때 쿼티 위치와 드보락위치를 같이 하게 말이죠.)
리눅스에선 한번 사용하려면 프로그램을 써서 바꾸는 걸로 아는데,,, emacs를 사용하기 위해 바꿔주는게 힘들것 같아서 말이죠.
(윈도우에서도 역시...)
** 그런데 아이디는 한번 적용되면 못 바꾸나요?? -_-;; 드보락과 쿼티를 오가다 보니 오타를 내서 말이에요.;;
Forums:
불가능하지는 않습니다만...
제가 보기에 원하시는 것은 글자를 입력할 때는 dvorak , 단축키는 querty 로 입력하는 것 같습니다.
말씀하신대로 dvorak 용 leim 파일을 만들어 쓰면 됩니다. 아마 이미 만들어진게 있을 겁니다. 다만 이렇게 되면 한글 입력이 어려워질 수도 있습니다.. emacs 에서 입력언어를 전환할 때 기본입력(영어겠지요)과 추가방식 이렇게 2가지간의 변환만 됩니다. 즉 추가방식을 dvorak 으로 지정하면 한글을 입력할 방법이 없습니다.
그냥 제 생각은 이렇습니다. emacs 는 dvorak 을 쓰도록 고정하고
실제 한영전환은 윈도우의 IME 에서 담당하게 하면 아마도 되지 않을까 생각합니다.(직접 해본 것은 아닙니다.)
그런데 단축키를 querty 로 사용하면 혼란스럽지 않은가요 ??? 저는 단축키도 dvorak 으로 사용합니다.
네. 솔직히 단축키는 드보락보단 쿼티 방식이 더 나은 것 같더라구요.
한영키를 누르면 한영 전환이 되긴 됩니다만, 이게 반쪽 짜리여서 좀 맘에 안드네요 ^^
이맥스는 lisp로 돌아가니까 어떻게든 생각해보면 될것 같기도 해서 말이죠.
(전, 첨 배우니 할줄 몰라서..)
** 단축키를 쿼티로 해서 헷갈리기 보단, 쿼티로 무언가를 쓰고나서 드보락으로 쓰는게 더 헷갈리네요..
nil.
EmacsHangulConfiguration
http://wiki.kldp.org/wiki.php/EmacsHangulConfiguration
네, 저도 저 글을 보았습니다.
사용하고 있습니다 ^^;;
제가 쿼티 식의 단축키형태를 사용하려 했던 이유가
드보락에서는 이동키가 꼬여버린다는 것이었는데,
지금은 htns키로 이동키만 바꿔서 사용하려고 합니다 ^^;;
고맙습니다. :)
nil.
우하하하하
으쓱으쓱~
제가 왜 이러는지는 page info를 보시면 압니다;;;
----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희
----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희
무슨말인지 ^^:;
page info가 뭔가요 ^^a;;
(전, 리눅스나 그런거는 아무것도 몰라요 ;;)
nil.
새 글로 쓸까 하다가 여기로 쓰는게 나을것 같아서 여기에 적습니다. ^^;;
윈도 이맥스에서 드보락과 함께 쓰려고 했습니다.
그런데 이 드보락 자판이란게 환경에 따라 사용할 수가 없어지더라구요.
어쩔수없이 이맥스에서 lisp만으로 드보락과 세벌식을 사용해야 할것 같아..
고심을 했습니다.
그러다가 생각난게, mule(맞는건가요 -_-a)에서 여러자판을 지원하니...
자판을 계속해서 바꿔치기(?) 해주면 어떨까 라고 생각했습니다.
그런데, 이런방식이 괜찮은지 모르겠습니다. :)
찾다가 찾다가 포기할때 쯤, korea-util.el 파일 안에 toggle-korean-input-method 란
함수가 있는걸 보게 되었습니다.
그 함수를 어느 정도 바꿔주었더니, 드디어 드보락과 세벌식이 제대로 나옵니다. ㅜㅜ
사용하는 방법은..
korean-util.el 파일안에 이 부분을
;; functions useful for Korean text input
(defun toggle-korean-input-method ()
"Turn on or off a Korean text input method for the current buffer."
(interactive)
(if current-input-method
(inactivate-input-method)
(activate-input-method (concat "korean-hangul" default-korean-keyboard) )
)
)
이 부분으로 바꿔주세요.
;;;###autoload
(defvar default-any-input-method "" )
;; functions useful for Korean text input
(defun toggle-korean-input-method ()
"Turn on or off a Korean text input method for the current buffer."
(interactive)
(setq x (concat "korean-hangul" default-korean-keyboard))
(if (string-equal default-any-input-method "")
(if current-input-method
(inactivate-input-method)
(activate-input-method x)
)
(if (string-equal current-input-method x)
(activate-input-method default-any-input-method)
(activate-input-method x)
)
)
)
이 파일을 컴파일한다음에..
그리고 .emacs안의 custom-set-variables안에 아래 내용을 추가합니다.
'(default-any-input-method "english-dvorak")
위의 변수는 지워버리면, 바꾸기 전처럼 동작합니다.
드보락대신 다른 자판을 쓰고 싶다면 위에 english-dvorak 대신 다른 자판이름을 써줘도 됩니다
그런데, 시작할때 바로바로 드보락이나, 세벌식으로 바뀌지 않습니다.
(기본자판으로 설정되어 있어서 이때 Shift + SPC 를 눌러줘야 합니다.)
이럴 때, .emacs 안에 아래의 문장을 집어넣으면, 처음부터 세벌식으로 설정이 됩니다.
(activate-input-method "korean-hangul3")
몇 가지 문제점이 있는데요(해결해 주세요~~)
1. 이 방식은 한글을 사용하는 사람들 한테만 됩니다.(2번과 연관)
2. Ctrl+\ 키를 누르면 안됩니다.(Shift+SPC 키를 눌러야 합니다)
알고 봤더니, 이게 방식이 다르더군요. Shift+SPC는 한글내부에서 작동하는 거고
Ctrl+\는 mule에서 작동합니다.아마 mule에서 사용가능하게 한다면 한글 뿐아니라, 일본어, 중국어에서도 드보락 등을
사용할 수있지 않을까 싶습니다.mule-cmds.el 파일안에 toggle-input-method 함수가 있던데, 이게 그녀석인듯 싶습니다.
3. 드보락을 완전히 베이스(윈도우던지 리눅스던지)로 잡고 사용하시는 분들은 사용하기 곤란해집니다. 사용할때마다 드보락을 풀어야 합니다. 윈도우나 리눅스나 방법이 따로 있다면, 좋겠습니다.
nil.
hwiorb 님 감사!
덕분에 그동안 불만이었던 부분이 드디어 해소되었습니다.
다른 방법들은 isearch 할때 미니버퍼에서 제대로 동작하지가 않더라구요.
사실, 몇개월 전에도 봤었는데 그때는 emacs에 대해 거의
아는게 없어(.el 파일의 컴파일 등) 적어준데로 해보질 못했습니다.
드디어 해결되었네요.
hwiorb 님의 글에 추가합니다.
<나름 중요!!!>
hwiorb 님의 글에 추가해서 아래코드를 korean-util.el에 추가하시면
1. 새 버퍼가 열릴때 기본으로 dvorak 자판으로 설정됩니다.
그러니까 최초 자판이 qwerty여서 매번 dvorak 자판으로 바꿔야하는 불편을 없앴습니다.
2. 드보락일때는 커서가 파란색, 세벌식일 때는 옅은 파란색으로 표시됩니다.
그래서 커서 색깔만 봐도 현재 무슨 자판인지 알수 있습니다.
3. 찾기 할때 미니 버퍼에서 자판이 바뀌지 않습니다.
타이핑 하던 그 자판으로 바로 입력하면 됩니다.
4. M-x로 명령을 입력할때는 dvorak으로 바뀝니다.(내부 로직은 저도 잘...^^)
5. 결론적으로 그 어떤 상황에서도 한/영 모드를 헷갈리지 않고 드보락/세벌식 자판을 즐길수 있습니다.
색깔과 기본자판은 개인의 기호에 따라 바꿔 사용하시면 되겠습니다.
다시한번 hwiorb님께 감사드립니다.
------------------------------------------------------------------
;;
;; 명령이 끝날 때 한영모드를 체크해서 커서 색깔을 변경하는 코드
;; 주로 버퍼간 이동할 때 커서 색깔을 올바르게 표시하기 위한 코드
;;
(defun toggle-input-method-color ()
"setting color"
(interactive)
(if (string-equal current-input-method nil)
(activate-input-method "english-dvorak") ;새 버퍼가 만들어질 때 드보락으로 설정하기 위해 추가한 코드
(if (string-equal current-input-method "english-dvorak")
(set-cursor-color "blue")
(set-cursor-color "dodger blue")
)))
(add-hook 'post-command-hook 'toggle-input-method-color)
------------------------------------------------------------------
추가: .emacs의 custom-set-variable에는 아래 두줄만 추가하면 됩니다.
'(default-any-input-method "english-dvorak")
'(default-korean-keyboard "3f")
댓글 달기