マルチバイトを含んだパスからvimを起動するとエラーが出る

521 views
Skip to first unread message

tyru

unread,
Dec 3, 2011, 4:16:32 AM12/3/11
to vim...@googlegroups.com
こんにちは。tyruです。
あとでgithub.com/vim-jp/issuesにも追加しますが、
今出先なのでメモ代わりに投稿させてください。

空白を含むパスでも試しましたが大丈夫のようです。
パスがマルチバイトを含む場合にのみエラーになります。

--- エラー ---
C:\日本語\vim\vim73\menu.vim の処理中にエラーが検出され
ました:
行  156:
E121: 未定義の変数です: paste#paste_cmd
E15: 無効な式です: 'vnoremenu <script> &Edit.&Paste<Tab>"+gP^I' . paste#paste_cm
d['v']
C:\日本語\vim\gvimrc の処理中にエラーが検出されました:
行   65:
E185: カラースキーム morning がみつかりません
--- エラー終わり ---

--- .vimrc ---
syntax on
filetype plugin indent on

set enc=utf8
--- .vimrc終わり ---

tyru

unread,
Dec 3, 2011, 4:27:51 AM12/3/11
to vim...@googlegroups.com
:versionの結果も貼っておきます。
kaoriyaの最新版です。

> VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Dec 2 2011 09:17:46)
> MS-Windows 32 ビット GUI 版
> 適用済パッチ: 1-364
> Modified by koron....@gmail.com
> Compiled by koron....@gmail.com
> Big 版 with GUI. 機能の一覧 有効(+)/無効(-)
> +arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff +digraphs
> -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +gettext/dyn +guess_encode -hangul_input +iconv/dyn +insert_expand +jumplist +keymap +kaoriya +langmap +libcall
> +linebreak +lispindent +listcmds +localmap +lua/dyn +menu +migemo/dyn +mksession +modify_fname +mouse +mouseshape +multi_byte_ime/dyn +multi_lang -mzscheme +netbeans_intg -ole +path_extra +perl/dyn +persistent_undo -postscript +printer
> -profile +python/dyn +python3/dyn +quickfix +reltime +rightleft +ruby/dyn +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl -tgetent -termresponse
> +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup -xfontset -xim -xterm_save -xpm_w32
> システム vimrc: "$VIM\vimrc"
> ユーザ vimrc: "$HOME\_vimrc"
> 第2ユーザ vimrc: "$VIM\_vimrc"
> ユーザ exrc: "$HOME\_exrc"
> 第2ユーザ exrc: "$VIM\_exrc"
> システム gvimrc: "$VIM\gvimrc"
> ユーザ gvimrc: "$HOME\_gvimrc"
> 第2ユーザ gvimrc: "$VIM\_gvimrc"
> システムメニュー: "$VIMRUNTIME\menu.vim"
> コンパイル: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DFEAT_CSCOPE -DFEAT_NETBEANS_INTG /DMODIFIED_BY=\"koron....@gmail.com\" /DDYNAMIC_MSVCRT_DLL=\"msvcr100.dll\" /DGETTEXT_DLL=\"intl.dll\" /D_BIND_TO_CURRENT_VCLI
> BS_VERSION=1 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 /Fo.\Obj\GULYHR-x86/ /Ox /GL -DNDEBUG /MD -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_GUI_W32 -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DDYNAMIC_MIGEMO -DFEAT_LUA -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lu
> a51.dll\" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python32.dll\" -DFEAT_PERL -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl512.dll\" -DFEAT_RUBY -DDYNAMIC_RU
> BY -DDYNAMIC_RUBY_VER=192 -DDYNAMIC_RUBY_DLL=\"msvcrt-ruby191.dll\" -DFEAT_BIG /Fd.\Obj\GULYHR-x86/ /Zi
> リンク: link /RELEASE /nologo /subsystem:windows /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib uuid.lib /machine:i386 /nodefaultlib gdi32.lib version.lib winspool.lib comctl32.lib adv
> api32.lib shell32.lib /machine:i386 /nodefaultlib msvcrt.lib user32.lib /nodefaultlib:lua51.lib /nodefaultlib:python27.lib /nodefaultlib:python32.lib WSock32.lib /PDB:gvim.pdb -debug


2011/12/3 tyru <tyru...@gmail.com>

tyru

unread,
Dec 5, 2011, 4:43:27 AM12/5/11
to vim...@googlegroups.com
https://github.com/vim-jp/issues/issues/103
なんだかmattnさんKoRoNさんが核心に近づいているので検証しなくてもいい気がしますが、一応検証結果をメモしておきます。
あとでissuesの方には追加します。

> 明日試すことをメモのためにリストしておきます。
>
> enc=utf-8の設定で起こる?

.vimrcの「set enc=utf-8」の部分をコメントアウトしたらエラーメッセージが出なくなったのでそのようです。

> 起動オプションで-u NONE -U NONEするとどうなる?

kaoriya:エラーが出ませんでした。
本家:エラーが出ませんでした。

> kaoriya版だけでなく本家Vimを起動するとどうなる?

エラーメッセージは出ませんでしたが、vimの起動画面とメニューが盛大に文字化けしました。(添付してあります)
やはり.vimrcの「set enc=utf-8」をコメントアウトしたら正常に起動しました。

本家Vimは下記URLから取得しました。
http://www.vim.org/download.php#pc
> Runtime files vim##rt.zip vim73_46rt.zip
> GUI executable gvim##.zip gvim73_46.zip

$ unzip gvim73_46.zip
$ unzip vim73_46rt.zip
して「vim/vim73/gvim.exe」を実行しました。


2011/12/3 tyru <tyru...@gmail.com>

gvim.png

Yasuhiro MATSUMOTO

unread,
Dec 5, 2011, 5:20:23 AM12/5/11
to vim...@googlegroups.com
文字化けは、おそらく$LANGが設定されている為、もしくはどこかでlangmenuが設定されている為に、encodingと異なるメニューが表示された為に発生します。
おそらくvim.moは、utf-8で書かれたvim.poがからコンパイルされた物のはずなので、termencoding=utf-8もしくはencoding=utf-8じゃないと文字化けするはずです。

tyru

unread,
Dec 5, 2011, 7:35:36 AM12/5/11
to vim...@googlegroups.com
> 文字化けは、おそらく$LANGが設定されている為、もしくはどこかでlangmenuが設定されている為に、encodingと異なるメニューが表示された為に発生します。

:echo $LANG
してみたら「ja」に設定されていました。

> おそらくvim.moは、utf-8で書かれたvim.poがからコンパイルされた物のはずなので、termencoding=utf-8もしくはencoding=utf-8じゃないと文字化けするはずです。

.vimrcに
set enc=utf-8
set termencoding=utf-8
と書いて
vim本家版を起動:文字化けしない
vim本家版を-u NONE -U NONEで起動:文字化けしない

.vimrcに
set enc=utf-8
と書いて
vim本家版を起動:文字化けする
vim本家版を-u NONE -U NONEで起動:文字化けしない

.vimrcに
set termencoding=utf-8
と書いて
vim本家版を起動:文字化けしない
vim本家版を-u NONE -U NONEで起動:文字化けしない

.vimrcに何も書かずに
vim本家版を起動:文字化けしない
vim本家版を-u NONE -U NONEで起動:文字化けしない

という感じでした。

2011/12/5 Yasuhiro MATSUMOTO <matt...@gmail.com>:


> 文字化けは、おそらく$LANGが設定されている為、もしくはどこかでlangmenuが設定されている為に、encodingと異なるメニューが表示された為に発生します。
> おそらくvim.moは、utf-8で書かれたvim.poがからコンパイルされた物のはずなので、termencoding=utf-8もしくはencoding=utf-8じゃないと文字化けするはずです。
>

> --
> このメールは Google グループのグループ「vim_jp」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/vim_jp/-/CrjGQQ5MYusJ
> にアクセスしてください。
> このグループに投稿するには、vim...@googlegroups.com にメールを送信してください。
> このグループから退会するには、vim_jp+un...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/vim_jp?hl=ja からこのグループにアクセスしてください。

Reply all
Reply to author
Forward
0 new messages