お世話になっております。実は今、ソースからVim-6.1をコンパイルしようとし ているところなのですが…、typoと思われる場所がありますので、調査してい ただけないでしょうか。 Makefileの835〜837行目に > ### Only set VIMRUNTIMEDIR when VIMRCLOC is set to a different location and > ### the runtime directory is not below it. > #VIMRUNTIMEDIR = $(VIMRTLOC) とありますが、この説明文にVIMR*C*LOCとありますが、なぜVIMRCLOCが関係する のか分かりませんでした。これってVIMR*T*LOCの間違いではないかと思うので すが…
バックトレース(gdb) run -gf Starting program: /home/takuhiro/tmp/vim/src/vim -gf
Program received signal SIGSEGV, Segmentation fault. 0x403ec549 in main_arena () from /lib/libc.so.6 (gdb) bt #0 0x403ec549 in main_arena () from /lib/libc.so.6 #1 0x404425eb in XmbLookupString () from /usr/X11R6/lib/libX11.so.6 #2 0x4017a45c in gdk_event_translate () from /usr/lib/libgdk-1.2.so.0 #3 0x4017b281 in gdk_events_queue () from /usr/lib/libgdk-1.2.so.0 #4 0x4017b49e in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0 #5 0x401ae79f in g_main_dispatch () from /usr/lib/libglib-1.2.so.0 #6 0x401aeb85 in g_main_iterate () from /usr/lib/libglib-1.2.so.0 #7 0x401aef82 in g_main_run () from /usr/lib/libglib-1.2.so.0 #8 0x400b3f63 in gtk_main () from /usr/lib/libgtk-1.2.so.0 #9 0x813c348 in gui_mch_wait_for_chars (wtime=4000) at gui_gtk_x11.c:3363 #10 0x8132779 in gui_wait_for_chars (wtime=-1) at gui.c:2409 #11 0x8125e61 in ui_inchar (buf=0x8169d77 "", maxlen=80, wtime=-1) at ui.c:164 #12 0x80b01e2 in inchar (buf=0x8169d77 "", maxlen=241, wait_time=-1) at getchar.c:2604 #13 0x80af1a2 in vgetorpeek (advance=1) at getchar.c:2401 #14 0x80aea65 in vgetc () at getchar.c:1367 #15 0x80aedca in safe_vgetc () at getchar.c:1498 #16 0x80d9936 in normal_cmd (oap=0xbffff650, toplevel=1) at normal.c:585 #17 0x80b621e in main_loop (cmdwin=0) at main.c:2010 #18 0x80b4d86 in main (argc=0, argv=0xbffff824) at main.c:1861 #19 0x402d85e0 in __libc_start_main () from /lib/libc.so.6
>できれば、拒否された理由をおしえていただけますか? 拒否された・・・というよりも他のIMとの共存が必要だからなぁ・・・って所でしょうか? #I wonder how safe it is to include this. I suppose it should at least #be tested with other input methods.
iconvは ダウンロードして./configure してmakeしてmake installしました。 vim の vimrcに
" 日本語を扱うために必要 set encoding=japan " ファイルの漢字コード自動判別のために必要。(要iconv) if has('iconv') set fileencodings+=iso-2022-jp set fileencodings+=utf-8,ucs-2le,ucs-2 if &encoding ==# 'euc-jp' set fileencodings+=cp932 else set fileencodings+=euc-jp << ここを sjisに変更ですか? endif endif
+iconv +maulti_byte にして /usr/share/vim/vim60/macros/vimrc に " 日本語を扱うために必要 set encoding=japan " ファイルの漢字コード自動判別のために必要。(要iconv) if has('iconv') set fileencodings+=iso-2022-jp set fileencodings+=utf-8,ucs-2le,ucs-2 if &encoding ==# 'euc-jp' set fileencodings+=cp932 else set fileencodings+=euc-jp endif endif
Vim6.0をインストールしました。 vim --version で +iconv +multi_byte の出力を確認しました。 ~/.vimrc ファイルに
set encoding=japan :e ++enc=cp932
" ファイルの漢字コード自動判別のために必要。(要iconv) if has('iconv') set fileencodings+=iso-2022-jp set fileencodings+=utf-8,ucs-2le,ucs-2 if &encoding ==# 'euc-jp' set fileencodings+=cp932 else set fileencodings+=euc-jp endif endif
あとオプションがどのファイルで設定されたものか知りたいときには次のようにして ください(私もつい最近知りました)。 :verbose set fencs?
220 :185 :02/05/09 13:44
以下の記述の下に
if v:lang =~ "^ko" set fileencodings=euc-kr set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-* elseif v:lang =~ "^ja_JP" set fileencodings=euc-jp set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-* elseif v:lang =~ "^zh_TW" set fileencodings=big5 set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0 elseif v:lang =~ "^zh_CN" set fileencodings=gb2312 set guifontset=*-r-* endif if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=utf-8 endif
vim.onlineにも、 Please remember vim tips are not meant to be documentation! Tips should have pointers to where you can read more about the feature in help or on the web. とかいてあるから、確かに、そのまま翻訳したのでは、十分に活かせないと思う。
本の table of contents のように、内容がわかる日本語の見出しをつけて、 分類するのがいいと思う。
magic,nomagicってなんですか? $を無効にするには\$だとおもうのですが、 meaning magic nomagic matches any single character . \. matches start of line ^ ^ matches <EOL> $ $ matches start of word \< \< matches end of word \> \>
なんか全然空気よんでなくて初歩的な質問で申し訳ないのですが、 |`[| `[ go to the start of the previously operated or put text |`]| `] go to the end of the previously operated or put text :[range]go[to] [off] go to [off] byte in the buffer これらの意味をおしえてください。上の2つはいつやっても最初と最後に飛ぶだけです。 3つめのは[range]の意味がわかりません。
Vimの吐いたセッションファイルの中で、 normal 桁数l となっているんですよ。これが、私のマッピングのせいで (私はlをnにしている)エラーになってしまいます。 これって、 normal! 桁数l だったら、マッピングに影響されずにnormalモードコマンドが 実行できるんですよね? ヘルプより: If the [!] is given, mappings will not be used.
% zcat im_custom044.diff.gz | patch -p1 Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |diff -Nru src.org/Make_mvc.mak src/Make_mvc.mak |--- src.org/Make_mvc.mak Mon Aug 27 18:45:33 2001 |+++ src/Make_mvc.mak Sun Jun 9 19:09:41 2002 -------------------------- File to patch:
>>544 > いつになったらvimrcファイルを直接書き直さなくても設定できるようになるの? use your mouse! or type following command. :options :mkvimrc > マルチプラットフォームって開発者のかってでしょ? > いつになったらWindowsHelp形式の読みやすいHELPになるの?Linuxでも動作する > 必要はWinユーザーには関係ないんですけど? type :help design-multi-platform
- People switch from one platform to another, and from GUI to terminal version. Features should be present in all versions, or at least in as many as possible with a reasonable effort. Try to avoid that users must switch between platforms to accomplish their work efficiently. - That a feature is not possible on some platforms, or only possible on one platform, does not mean it cannot be implemented. [This intentionally contradicts the previous item, these two must be balanced.]
(gdb) run Starting program: /var/tmp/vim61/src/vim ^C Program received signal SIGINT, Interrupt. skipchr () at regexp.c:2415 2415 prevchr_len += (*mb_ptr2len_check)(regparse + prevchr_len); (gdb) backtrace #0 skipchr () at regexp.c:2415 #1 0x000db6ac in getchr () at regexp.c:2451 #2 0x000d96d0 in regatom (flagp=0xffbed97c) at regexp.c:1380 #3 0x000d9114 in regpiece (flagp=0xee6afeff) at regexp.c:1218 #4 0x000d8fc4 in regconcat (flagp=0xffbeda6c) at regexp.c:1179 #5 0x000d8ec4 in regbranch (flagp=0xffbedae4) at regexp.c:1101 #6 0x000d8ba8 in reg (paren=1, flagp=0xffbedb5c) at regexp.c:1014 #7 0x000d9ac8 in regatom (flagp=0xffbedbdc) at regexp.c:1606 #8 0x000d9114 in regpiece (flagp=0xffbedc54) at regexp.c:1218 #9 0x000d8fc4 in regconcat (flagp=0xffbedccc) at regexp.c:1179 #10 0x000d8ec4 in regbranch (flagp=0xffbedd44) at regexp.c:1101 #11 0x000d8ba8 in reg (paren=0, flagp=0xffbeddbc) at regexp.c:1014 magic=1) at regexp.c:836 #12 0x000d8868 in vim_regcomp ( expr=0x1f93d8 "^\\(\\%([\216\216\216\216\216\216\216\216\216\216\216\ 216\216\216\216\216\216\216\216\216\216]\216\\|[\216\216\216\216\216]\216\ \|[ -~\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\ 216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\ 216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\216\ 216\216\216\216\216\216\216]\\"..., magic=1) at regexp.c:836 #13 0x0004619c in find_some_match (argvars=0xffbedf50, retvar=0xffbee5a8, type=2) at eval.c:5100 #14 0x00043e50 in get_func_var (name=0x1b11df "matchstr", len=8, retvar=0xffbee5a8, arg=0xffbee524, firstline=1, lastline=1, doesrange=0xffbee0c4, evaluate=1) at eval.c:2726 #15 0x00043114 in eval7 (arg=0xffbee524, retvar=0xffbee5a8, evaluate=1) at eval.c:1946
(gdb) backtrace #0 0x7f59c840 in _libc_kill () from /usr/lib/libc.so.1 #1 0x000d2014 in mch_exit (r=1) at os_unix.c:2473 #2 0x000d06f4 in deathtrap (sigarg=11) at os_unix.c:875 #3 <signal handler called> #4 0x7f7b2684 in XCreateIC () from /usr/openwin/lib/libX11.so.4 #5 0x7f98794c in set_values () from /usr/dt/lib/libXm.so.4 #6 0x7f985b08 in InitializeTextStruct () from /usr/dt/lib/libXm.so.4 #7 0x7f985474 in Initialize () from /usr/dt/lib/libXm.so.4 #8 0x7f876ea0 in CallInitialize () from /usr/openwin/lib/libXt.so.4 #9 0x7f873118 in xtCreate () from /usr/openwin/lib/libXt.so.4 #10 0x7f87b48c in _XtCreateWidget () from /usr/openwin/lib/libXt.so.4 #11 0x7f87b1bc in XtCreateWidget () from /usr/openwin/lib/libXt.so.4 #12 0x7f9af864 in _XmSelectionBoxCreateText () from /usr/dt/lib/libXm.so.4 #13 0x7f9af4d0 in Initialize () from /usr/dt/lib/libXm.so.4 #14 0x7f876ea0 in CallInitialize () from /usr/openwin/lib/libXt.so.4 #15 0x7f876e4c in CallInitialize () from /usr/openwin/lib/libXt.so.4 #16 0x7f873118 in xtCreate () from /usr/openwin/lib/libXt.so.4 #17 0x7f87b48c in _XtCreateWidget () from /usr/openwin/lib/libXt.so.4 #18 0x7f87b1bc in XtCreateWidget () from /usr/openwin/lib/libXt.so.4 #19 0x7f9cb228 in XmeCreateClassDialog () from /usr/dt/lib/libXm.so.4 #20 0x001193b4 in gui_mch_browse (saving=0, title=0x123150 "Edit File", dflt=0x2f4740 "", ext=0x0, initdir=0x0, filter=0x12afb8 "All Files (*)\t*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n") at gui_motif.c:1560 #21 0x0009bc2c in do_browse (saving=0, title=0x123150 "Edit File", dflt=0x2f4740 "", ext=0x0, initdir=0x0, filter=0x12afb8 "All Files (*)\t*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n", buf=0x167f08) at message.c:2588 #22 0x0004f650 in do_ecmd (fnum=0, ffname=0x2f4740 "", sfname=0x0, eap=0xffbeeb20, newlnum=1, flags=0) at ex_cmds.c:2538 #23 0x0006189c in do_exedit (eap=0xffbeeb20, old_curwin=0x0) at ex_docmd.c:5735 #24 0x0005b144 in do_one_cmd (cmdlinep=0xffbeebf4, sourcing=0, cstack=0xffbeec10, getline=0x68edc <getexline>, cookie=0x0) at ex_docmd.c:1874 #25 0x00059ca4 in do_cmdline (cmdline=0x2f4730 "browse confirm e", getline=0x68edc <getexline>, cookie=0x0, flags=0) at ex_docmd.c:786 #26 0x000b78f8 in nv_colon (cap=0xffbeee08) at normal.c:4436 #27 0x000b1c94 in normal_cmd (oap=0xffbeeeb0, toplevel=1) at normal.c:1036 #28 0x00086fe4 in main_loop (cmdwin=0) at main.c:2017 #29 0x00086b74 in main (argc=0, argv=0x15f400) at main.c:1867
checking for gtk-config... no checking for gtk12-config... /usr/X11R6/bin/gtk12-config checking for GTK - version >= 1.1.16... no checking for location of Motif GUI includes... <not found>