한줄만으로도 Shift-Space가 제대로 작동할 겁니다.
Ctrl-\ 키는 일반적인 입력 변환 기능이고, Shift-Space는 한글 환경에 특화된 기능이기 때문입니다.
toggle-input-method와 toggle-korean-input-method의 차이입니다.
Shift-Space로 한영 변환이 안되는 이유는
1. (set-language-environment "Korean")을 지정해주지 않을 경우나
2. 어떤 이유에서인가 korea-util.el 등의 관련 ELisp 라이브러리가 설치되지 않았거나
3. Shift-Space 키 조합을 다른 기능이 나중에 가로채서 사용하고 있거나
4. 그것도 아니라면, 그럴 리는 없겠지만 키보드 설정이 잘못되어 해당 키 조합을 인식하지 않는
경우 중의 하나일 겁니다.
차례로 조사해 보세요.
3. Shift-Space를 다른 기능이 가로채고 있다면 Alt-x toggle-korean-input-method 라고 직접
입력해서 한영 변환이 되는지 확인한 다음에, 제대로 변환이 된다면 .emacs 의 하단에
같은 설정 없이도 여지껏 멀쩡하게 잘 쓰고 있거든요.
저도 처음엔 다른 사용자들의 .emacs 파일 설정을 복사해서 쓰다 보니 한글 관련 이러저러한 설정이 꽤나 많았습니다만 나중엔 다 필요 없어지더군요.
emacs의 version이 올라가면서 사용 환경이 진화해온 탓일 수도 있겠죠. :)
저의 경우 emacs 창에서는 Ctrl+Shift 키를 누르면 Ctrl+\ 가 입력되게 하여 해결하고
있습니다. 즉 다른 윈도우 상에서는 Ctrl+Shift 키는 Ctrl+Shift 키로 동작하지만,
emacs 창에서는 Ctrl+Shift 키를 Ctrl+\ 로 바인딩시킨다는 이야기입니다.
gnom은 잘모르겠지만 KDE에서는 컨트롤센터에서 이 기능을 지원합니다.
"kcontrol" 을 실행하면 컨트롤 센터가 나타납니다. 왼쪽의 카테고리 중 "Regional
and Accessibility > Input Actions" 에서 설정할 수가 있습니다.
설정하는 방법은 다음과 같습니다.
1. 아래에 있는 "New Action"을 누릅니다. 그러면 엑션이 하나 생길 것입니다.
2. 이 액션은 "General", "Triggers", "Actions", "Conditions" 의 속성을 가질
것입니다.
- "General" : 액션 타입은 이미 나와있는 "Generic" 입니다. 저의경우 액션이름을
emacs로 지정하였습니다.
- "Triggers" : 사용자가 키보드로 입력하는 부분을 가르킵니다. 저의 경우 "New >
Shortcut Trigger" 를 이용해서 "Ctrl+Space"를 입력했습니다.
- "Actions" : 컴퓨터가 입력받는 키를 가르킵니다. 저의 경우 "New > Keyboard
input" 에서 'Ctrl+\' 를 적었습니다.
- "Conditions" : 어떤 조건에서 위의 바인딩{?}이 적용될지를 결정합니다. "New >
Active window" > "New > simple window". 여기서 "Window class" 를 Contains 로
바꾸어줍니다. 아래에 "Autodetect"를 누르면 십자가가 나타납니다. emacs 의
왼도우를 클릭해 줍니다. 그러면 빈칸에 이름이 들어갈 것입니다.
아래와 같이 해 주면
아래와 같이 해 주면 동작할지 모르겠네요.
(global-set-key [?\S- ] 'toggle-input-method)
이 코드를 ~/.emacs 파일에 추가해 줍니다.
혹은 저 코드를 쓴 다음에 괄호 닫은 뒤에 위치하신 뒤에 C-x C-e 눌러주시면 적용이 됩니다.
블로그: http://turtleforward.blogspot.com
블로그: http://turtleforward.blogspot.com
안되네요. 전혀
안되네요. 전혀 반응하지 않아요.T.T...
이맥스가 문제 없이 설치되었다면...
.emacs 파일에
한줄만으로도 Shift-Space가 제대로 작동할 겁니다.
Ctrl-\ 키는 일반적인 입력 변환 기능이고, Shift-Space는 한글 환경에 특화된 기능이기 때문입니다.
toggle-input-method와 toggle-korean-input-method의 차이입니다.
Shift-Space로 한영 변환이 안되는 이유는
1. (set-language-environment "Korean")을 지정해주지 않을 경우나
2. 어떤 이유에서인가 korea-util.el 등의 관련 ELisp 라이브러리가 설치되지 않았거나
3. Shift-Space 키 조합을 다른 기능이 나중에 가로채서 사용하고 있거나
4. 그것도 아니라면, 그럴 리는 없겠지만 키보드 설정이 잘못되어 해당 키 조합을 인식하지 않는
경우 중의 하나일 겁니다.
차례로 조사해 보세요.
3. Shift-Space를 다른 기능이 가로채고 있다면 Alt-x toggle-korean-input-method 라고 직접
입력해서 한영 변환이 되는지 확인한 다음에, 제대로 변환이 된다면 .emacs 의 하단에
를 추가해 주세요.
4. Shift-Space 조합 자체에 의심이 간다면 .emacs의 하단에 예를 들어
정도의 진단 코드를 추가해서 이맥스를 다시 실행시킨 다음, Shift-Space를 눌렀을 때 화면 하단에
(hello world)라는 메시지가 뜨는지 확인해 보세요.
현재 이맥스의 전체적인 키 설정을 보려면 C-h C-h b 키로 확인하세요.
-----
익명으로 쓴 글은 볼 수 없습니다.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
인용:.emacs
그렇기는 하지만 utf-8 환경에서는 좀 곤란합니다.
세벌식이라면
등으로 하시는 것이 좋을 것 같습니다.
--
perl -e's@@JEON Myoung-jin@;sub man{s| _|her e|}
sub see{s;^;Just;;u;s;e ;Perl ;;to;print$_,$/}$uperMan=M;
s=^....=U are not=;s~$uperMan~~;&admitIt;s=U are = A=;s|young|_|;&man;
sub admitIt{say;ye;s!-\w+! Hacker!};see U'
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
그런가요?
아~ 원래 utf-8에선 잘 안되나요?
이상하군요. 저도 utf-8 환경이지만
같은 설정 없이도 여지껏 멀쩡하게 잘 쓰고 있거든요.
저도 처음엔 다른 사용자들의 .emacs 파일 설정을 복사해서 쓰다 보니 한글 관련 이러저러한 설정이 꽤나 많았습니다만 나중엔 다 필요 없어지더군요.
emacs의 version이 올라가면서 사용 환경이 진화해온 탓일 수도 있겠죠. :)
-----
익명으로 쓴 글은 볼 수 없습니다.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
파일을 작성하면
파일을 작성하면 euc-kr 로 인코딩 되서요;;
--
perl -e's@@JEON Myoung-jin@;sub man{s| _|her e|}
sub see{s;^;Just;;u;s;e ;Perl ;;to;print$_,$/}$uperMan=M;
s=^....=U are not=;s~$uperMan~~;&admitIt;s=U are = A=;s|young|_|;&man;
sub admitIt{say;ye;s!-\w+! Hacker!};see U'
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
그건 아마도
등을 설정하지 않아서가 아닐까요.
-----
익명으로 쓴 글은 볼 수 없습니다.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
그렇군요. 저는
그렇군요. 저는 그것을 설정하지 않았습니다.
저는 세벌식을 쓰기 때문에 위에 썼던 두 줄로 우선 만족하겠습니다. :-)
--
perl -e's@@JEON Myoung-jin@;sub man{s| _|her e|}
sub see{s;^;Just;;u;s;e ;Perl ;;to;print$_,$/}$uperMan=M;
s=^....=U are not=;s~$uperMan~~;&admitIt;s=U are = A=;s|young|_|;&man;
sub admitIt{say;ye;s!-\w+! Hacker!};see U'
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
3번에서 Alt-x
3번에서 Alt-x toggle-korean-input-method 이건 정상동작하지만
.emacs에 적어놓으면 안되네요.
4번도 안되구요.
제 예상은 gnome에서 scim을 쓰고 있는데 이게 shift-space조합을 가져가는 것 같습니다.
emacs에서 shift-spc를 하면 scim은 바뀌거든요. 이게 바뀌면서 한영키 역할을 제대로 하긴 하는데
문제는 Ctrl-\ 키 조합과는 조금 다르게 동작합니다.
이맥스에서 한글이 써지는 부분에 작은 'gtk박스'가 뜨고 거기에 하나의 한글이 써진다음에 emacs에 써지는 식이죠.
(스샷을 찍으면 'gtk박스'가 사라져서 보여드리질 못하겠네요.)
Ctrl-\조합은 emacs하단에 상태를 나타내는 바에 변환 여부가 표시되면서(u 로 있다가 한2u 라고 변함)
정상동작 하게 됩니다.
이렇게 scim이 가져가는 shift-space조합을 emacs의 toggle-korean-input-method 와 바인딩 하고 싶은데요.
어떤 방법이 있을까요?
scim에서도 shift-space를
scim에서도 shift-space를 사용하신다면 scim과 연결을 끊고 사용하셔야 합니다.
LANG=C emacs 로 실행하시거나 그래도 붙는다면
XMODIFIERS="" emacs 로 실행시키십시오.
--
perl -e's@@JEON Myoung-jin@;sub man{s| _|her e|}
sub see{s;^;Just;;u;s;e ;Perl ;;to;print$_,$/}$uperMan=M;
s=^....=U are not=;s~$uperMan~~;&admitIt;s=U are = A=;s|young|_|;&man;
sub admitIt{say;ye;s!-\w+! Hacker!};see U'
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
저의 경우 emacs
저의 경우 emacs 창에서는 Ctrl+Shift 키를 누르면 Ctrl+\ 가 입력되게 하여 해결하고
있습니다. 즉 다른 윈도우 상에서는 Ctrl+Shift 키는 Ctrl+Shift 키로 동작하지만,
emacs 창에서는 Ctrl+Shift 키를 Ctrl+\ 로 바인딩시킨다는 이야기입니다.
gnom은 잘모르겠지만 KDE에서는 컨트롤센터에서 이 기능을 지원합니다.
"kcontrol" 을 실행하면 컨트롤 센터가 나타납니다. 왼쪽의 카테고리 중 "Regional
and Accessibility > Input Actions" 에서 설정할 수가 있습니다.
설정하는 방법은 다음과 같습니다.
1. 아래에 있는 "New Action"을 누릅니다. 그러면 엑션이 하나 생길 것입니다.
2. 이 액션은 "General", "Triggers", "Actions", "Conditions" 의 속성을 가질
것입니다.
- "General" : 액션 타입은 이미 나와있는 "Generic" 입니다. 저의경우 액션이름을
emacs로 지정하였습니다.
- "Triggers" : 사용자가 키보드로 입력하는 부분을 가르킵니다. 저의 경우 "New >
Shortcut Trigger" 를 이용해서 "Ctrl+Space"를 입력했습니다.
- "Actions" : 컴퓨터가 입력받는 키를 가르킵니다. 저의 경우 "New > Keyboard
input" 에서 'Ctrl+\' 를 적었습니다.
- "Conditions" : 어떤 조건에서 위의 바인딩{?}이 적용될지를 결정합니다. "New >
Active window" > "New > simple window". 여기서 "Window class" 를 Contains 로
바꾸어줍니다. 아래에 "Autodetect"를 누르면 십자가가 나타납니다. emacs 의
왼도우를 클릭해 줍니다. 그러면 빈칸에 이름이 들어갈 것입니다.
다시한번 이야기하면, "Triggers"에서 설정된 "Ctrl+Space" 키가 "Conditions"에
설정한 emacs 윈도우에서 발생하면, KDE는 "Actions"에서 설정된 "Ctrl+\"를 emacs에
명령하게 됩니다.
다른 액션들에 주어진 예제들을 보시면 이해하기 쉬울 것입니다. 설명도 포함되어
있습니다.
3. apply 를 눌러서 적용시킵니다.
------------------------------------------
emacs user
------------------------------------------
emacs user
댓글 달기