求助:处理 BufReadCmd 自动命令出错

134 views
Skip to first unread message

albert

unread,
Apr 18, 2007, 2:45:44 AM4/18/07
to Vim.cn
右键点击文本文件,选择用gvim打开时出现下列错误,请大家帮助看一下,谢谢!


处理 BufReadCmd 自动命令 "file://*" 时发生错误:
E37: 已修改但尚未保存 (可用 ! 强制执行)

jinguoli

unread,
Apr 18, 2007, 6:49:57 AM4/18/07
to Vim...@googlegroups.com
应该是你的vimrc配置有错


在 2007-04-17二的 23:45 -0700,albert写道:

xianwei

unread,
Apr 18, 2007, 9:18:56 PM4/18/07
to Vim.cn
其实假如不在乎那个错误 命令的话,在那个可能产生错误的命令前,加个silent,也可以

albert

unread,
Apr 18, 2007, 9:30:28 PM4/18/07
to Vim.cn
非常感谢上面两位的建议,我的gvimrc中设计自动命令的部分如下:

autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif

autocmd BufReadPre *.doc set ro
autocmd BufReadPre *.doc set hlsearch!
autocmd BufReadPost *.doc %!antiword "%"

autocmd BufReadPre *.pdf set ro
autocmd BufReadPost *.pdf %!pdftotext -nopgbrk "%" - |fmt -csw78
autocmd BufEnter * call DoWordComplete()

大家看看是这些地方出错吗?

xianwei

unread,
Apr 20, 2007, 10:25:44 PM4/20/07
to Vim.cn

你自己一行行的注释掉,看下哪行出了问题

albert

unread,
Apr 22, 2007, 10:53:28 AM4/22/07
to Vim.cn
非常感谢大家,我尝试了,重装后只要加入这一段配置中文编码的内容,就会报上述错误。
可是这段配置 在网上已经流传很久了。应该没有问题,经得起考验吧。我的机器就通不过。奇怪....

if has("multi_byte")
" When 'fileencodings' starts with 'ucs-bom', don't do this manually
"set bomb
"set fileencodings=ucs-bom,chinese,taiwan,japan,korea,utf-8,latin1
" CJK environment detection and corresponding setting
if v:lang =~ "^zh_CN"
" Simplified Chinese, on Unix euc-cn, on MS-Windows cp936
set encoding=chinese
set termencoding=chinese
if &fileencoding == ''
set fileencoding=chinese
endif
elseif v:lang =~ "^zh_TW"
" Traditional Chinese, on Unix euc-tw, on MS-Windows cp950
set encoding=taiwan
set termencoding=taiwan
if &fileencoding == ''
set fileencoding=taiwan
endif
elseif v:lang =~ "^ja_JP"
" Japanese, on Unix euc-jp, on MS-Windows cp932
set encoding=japan
set termencoding=japan
if &fileencoding == ''
set fileencoding=japan
endif
elseif v:lang =~ "^ko"
" Korean on Unix euc-kr, on MS-Windows cp949
set encoding=korea
set termencoding=korea
if &fileencoding == ''
set fileencoding=korea
endif
endif
" Detect UTF-8 locale, and override CJK setting if needed
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set encoding=utf-8
endif
else
echoerr 'Sorry, this version of (g)Vim was not compiled with
"multi_byte"'
endif

唇衣

unread,
Apr 22, 2007, 9:44:41 PM4/22/07
to Vim.cn
麻烦能不能加上注释? 像我这样的新手, 看脚本还是有点难度的. 谢谢!

xianwei

unread,
Apr 23, 2007, 3:25:36 AM4/23/07
to Vim.cn

LZ做的是哪方面的工作,怎么用了这么geek的语言配置。

Reply all
Reply to author
Forward
0 new messages