gvim의 --enable-hangulinput (자체 한글 입력 모듈) 을 사용하시는 분은 얼마나 되나요?

라키시스의 이미지

최근 vim 의 개발자 메일링 리스트에서 gvim 의 자체 한글 입력모듈 (황치덕씨와 남성현씨가 만든 모듈입니다) 을
없앴으면 좋겠다는 내용으로 메일들이 오고 갔었습니다.
일단, Bram 의 결론은 아직 쓰는 사람들이 몇몇 있는 것 같으니 없애서는 안될 것 같다는 것이었습니다.

이러한 토의가 있었던 이유는, 자체 한글입력 모듈이 fontset 옵션에 의존적이기 때문인데,
이렇게 했을 경우, gui 로 gtk2 를 선택할 경우 컴파일이 되지 않는 문제가 있습니다.
즉, hangulinput 모듈과 gtk2 는 함께 쓸 수 없다는 것입니다.

물론, 이는 약간의 소스코드 수정으로 gtk2 와 자체 한글 입력기를 함께 사용할 수 있도록 변경이 가능한데요,
그렇게 했을 경우, encoding 으로 euc-kr 만 사용가능합니다. utf-8 인코딩은 사용할 수 없게 되지요.
물론, hangulinput 모듈이 utf-8 환경에서도 동작하도록 만들어 주면 더없이 좋겠지만,
이 작업을 한다 해도 시간이 꽤 소요될 것 같습니다 (제가 gtk 프로그래밍 경험이 전혀 없네요 ㅠ_ㅠ).

그리고 대부분의 사용자들이 gtk2 를 쓰고 있으며, 이 경우 대부분의 사용자들은 IME 를 사용해서 한글 입력을 할 터인데,
굳이 hangulinput 모듈이 필요한가, 설정(./configure) 을 잘 못했을 경우 컴파일 에러도 나는데, ...
하는 것이 hangulinput 모듈의 존속 여부에 대한 의문의 발단이었습니다.

제가 gvim 을 쓰는 환경에서는 자체 한글입력 모듈이 꼭 필요한 환경이며 (몇몇 플랫폼에서는 gui 옵션으로 athena로 컴파일해서 써야 합니다 -0-),
제 생각에는 없애서는 안될 것 같습니다.

결론은 hangulinput 과 gtk2 를 같이 사용하고자 했을 경우 발생하는 컴파일 에러를 패치하고,
자체한글입력 모듈은 그대로 둔다는 것으로 났지만,
그래도 Bram 에게 좀 더 확신(?)을 줬으면 합니다.

그래서 과연 hangulinput 기능을 넣어서 vim 을 컴파일해 쓰시는 분들이 있는지,
만약 그렇게 쓰고 있는 분들이 계시다면, 얼마나 되는지 조사를 한번 해 보았으면 합니다.
여러분이 gvim 을 사용하시는 환경은 어떠한지 답글을 달아 주셨으면 합니다.

gaedol의 이미지

gvim에 자체 한글 입력 모듈이 있었군요.

저는 IME를 사용합니다. :D

--------------------------------------------

김의국, Kim Euikook

"끝" 시작의 준말.

gaedole at nate.com (NateOn)
gaedole at gmail.com (MSN)
http://gaedol.org (HOME)
http://b.gaedol.org (BLOG)

--------------------------------------------

김의국, Kim Euikook

"끝" 시작의 준말.

gaedole at nate.com (NateOn)
gaedole at gmail.com (MSN)
http://gaedol.org (HOME)
http://b.gaedol.org (BLOG)

only2sea의 이미지

저 역시 IME를 사용합니다.

블로그: http://turtleforward.blogspot.com

jj의 이미지

emacs의 자체 한글 입력기는 씁니다만. vim은 있는줄도 몰랐네요!
--
콘쏠의힘

--
Life is short. damn short...

욱성군의 이미지

저도 그런게 있는 줄도 몰랐습니다.

너바나의 이미지

데비안에 포함된 녀석을 살펴보니 빠져있네요..

+folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist

cjh의 이미지

아마 그 옵션이 있는줄 아는 분도 매우 적을 것이고 대부분의 배포본에서 빼고 빌드하는 것으로
알고 있습니다(FreeBSD도 마찬가지). 제 입장에서는 없어도 상관 없다는 건데 이 스레드 봐도
쓰시는 분은 거의 없어 보이네요.

그럼...

--
익스펙토 페트로눔

--
익스펙토 페트로눔

라키시스의 이미지

그렇습니다.
hangulinput 옵션은 바이너리 배포시에 빠지는 것이 원칙입니다.
원칙적으로 IME 를 사용해서 한글을 입력하도록 되어 있습니다.
그러나 제가 걱정되는 부분은 IME 가 없거나 사용할 수 없는 환경에서 한글을 입력하고자 하는 상황입니다.
틀림없이 그런 환경에서 사용하시는 분이 있으리라 생각했는데,
지금까지는 저 말고는 안계시는 모양이네요....;

seeking experiences of being alive

jg의 이미지

어떤 상황인지 공감합니다만 저는 이맥스 유저라서요 =_=;;
입력기가 설치되지 않는 환경도 가끔 있으니까요. 그럴 때
한글 입력이 되는 프로그램 한 두개는 정말 절실하죠.

$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}

jick의 이미지

심지어 GTK를 사용하려고 하니까 컴파일 에러가 나서 툴툴대며 해당 코드를 임의로 고쳐서 (고친 거 맞나... -.-) 잘 쓰고 있습니다.

하지만 한글 폰트가 이쁘게 나오지 않는다는 아쉬움이 있군요. 이쁜 한글 폰트 사용법 알아보려니 어렵기도 하고 귀찮기도 하고 해서... 그냥 씁니다.

--- feature.h.bak	2006-06-15 18:41:01.000000000 +0900
+++ feature.h	2006-06-15 18:41:04.000000000 +0900
@@ -673,9 +673,11 @@
 # define ESC_CHG_TO_ENG_MODE		/* if defined, when ESC pressed,
 					 * turn to english mode
 					 */
+#if 0
 # if !defined(FEAT_XFONTSET) && defined(HAVE_X11)
 #  define FEAT_XFONTSET			/* Hangul input requires xfontset */
 # endif
+#endif
 # if defined(FEAT_XIM) && !defined(LINT)
 	Error: You should select only ONE of XIM and HANGUL INPUT
 # endif
 
*******************************************
 
./configure --with-features=big --enable-cscope --enable-multibyte \
--enable-hangulinput --enable-gnome-check 

(혹시 궁금한 분이 계실까봐, version 정보 첨부합니다.)

VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 15 2006 18:44:38)
Compiled by jick@jicklinux
Big version with GTK2-GNOME GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+folding -footer +fork() -gettext +hangul_input +iconv +insert_expand +jumplist
 +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu 
+mksession +modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm 
-mouse_jsbterm +mouse_netterm +mouse_xterm +multi_byte +multi_lang -mzscheme 
+netbeans_intg -osfiletype +path_extra -perl +postscript +printer -profile 
-python +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent 
-sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static 
-tag_any_white -tcl +terminfo +termresponse +textobjects +title +toolbar 
+user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace 
+wildignore +wildmenu +windows +writebackup +X11 -xfontset -xim +xsmp_interact 
+xterm_clipboard -xterm_save 
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -DXTHREADS
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include
-I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DORBIT2=1 -pthread
-DXTHREADS -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0
-I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0
-I/usr/include/libart-2.0 -I/usr/include/gconf/2
-I/usr/include/libbonoboui-2.0 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0
-I/usr/include/libbonobo-2.0 -I/usr/include/gnome-vfs-2.0
-I/usr/lib/gnome-vfs-2.0/include -I/usr/include/bonobo-activation-2.0
-I/usr/include/pango-1.0 -I/usr/include/freetype2
-I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0
-I/usr/include/libxml2     -g -O2  -I/usr/X11R6/include       
Linking: gcc  -L/usr/X11R6/lib    -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0
-latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0
-lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -L/usr/X11R6/lib   -lgnomeui-2
-lbonoboui-2 -lxml2 -lz -lgnomecanvas-2 -lgnome-2 -lpopt -lart_lgpl_2
-lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0
-lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgnomevfs-2
-lbonobo-2 -lgconf-2 -lbonobo-activation -lORBit-2 -lm -lgmodule-2.0
-lgthread-2.0 -lglib-2.0   -lXt -lncurses 
라키시스의 이미지

네, 해당 컴파일 문제는 svn 최신업데이트를 받으시면 이미 적용되어 있습니다.
문제점은 encoding=utf8 로 했을 때이죠 :-(

그나저나 저하고 비슷한 옵션으로 컴파일 해서 쓰시는 분을 뵈니 반갑군요 ;-)

seeking experiences of being alive

only2sea의 이미지

그러면 한글 입력과 gtk2가 서로 충돌이 일어나지 않게 한글 입력 모듈을
다시 작성하는 방법은 없나요?

블로그: http://turtleforward.blogspot.com

lifthrasiir의 이미지

이 글을 보고 한 번 작업해서 만들어 봤습니다. vim 스크립트만으로 한글 입력을 구현한 것입니다.


  • vim 7.0, cp949/utf-8 로캘 모두 확인해 봤습니다. vim 6에서 되는 지는 잘 모르겠지만 아마 될 것 같습니다.
  • .vimrc에 let hangeul_enabled = 1을 넣어 줘야 작동합니다.
  • 두벌식과 세벌식 최종 자판을 지원합니다. 390은 귀찮아서 안 만들었지만 간단하게 만들 수 있습니다.
  • 사용할 한글 자판은 기본적으로 두벌식이며, let hangeul_default_mode = '3f' 같이 바꿀 수도 있습니다. (사용 중에도 이 값을 바꾸면 다음에 해당 자판으로 바뀝니다)
  • 한영 전환은 를 기본으로 사용합니다. HanMode를 리매핑하면 다른 키로 바꿀 수도 있습니다.
  • 입력 모드에서만 동작합니다만, 부분적으로라도 ex 모드에서 쓰고 싶은 분은 let hangeul_cmdline = 1로 활성화할 수 있습니다.

조만간 vim.org 쯤에 올려 볼 계획입니다.

댓글 첨부 파일: 
첨부파일 크기
Plain text icon hangeul.vim_.txt15.12 KB
Image icon vim-hangeul.png18.28 KB
라키시스의 이미지

그렇지 않아도, hangulinput 모듈 사용시

encoding=utf-8

일 경우에도 자연스럽게 한글 입력이 되도록 짬짬이 패치를 만드는 중이었습니다만, (한가지 버그만 해결하면 될 거 같습니다)
스크립트로 @_@ 만드셨군요!

seeking experiences of being alive

lifthrasiir의 이미지

vim-dev 메일링 리스트에 의견을 올려 봤습니다. 잘 되면 contributor로 올라 갈 지도..? :p

원래 글에서 한영 전환 키는 <C-\><Space>고, 리매핑해야 하는 건 <Plug>HanMode입니다. 꺽쇠 괄호를 그냥 쓰니 안 보이네요.

vimming의 이미지

저도 IME를 사용합니다.
자체 입력 모듈은 vim 도움말에서 우연히 보긴 했지만
여전히 어떤 경우에 필요한 건지 잘 모르겠네요.

- Happy Vimming~!

- Happy Vimming~!

라키시스의 이미지

원격에 있는 서버에서 작업을 하면서 gvim 을 사용해서 한글을 입력하고자 할 때 필요합니다.
GTK2 의 IM_HANGUL 모듈을 사용해서 원격 서버에서 띄운 gvim 으로 한글 입력을 해 보려고 했었는데
제가 설정을 잘 못해서 그랬는지, 원래 안되는건지는 잘 모르겠지만, 그때도 실패했었습니다.

또한, IME 가 없는 시스템도 있을 수 있겠지요.

seeking experiences of being alive

lifthrasiir의 이미지

hangeul.vim 홈페이지를 새로 만들었습니다. 파일을 서브버전으로 옮겼고요. 필요하신 분께서는 새로 받아 쓰시길 바랍니다.

http://mearie.org/projects/vim-hangeul/

이전에 올렸던 버전과 비교해서 버그가 여럿 수정되었고, 세벌식 390 자판을 추가했으며, 한자 입력을 지원합니다. :) 자세한 설치 방법과 사용법은 페이지를 참고해 주세요.