:version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Oct 21 2017 01:21:26)
MacOS X (unix) version
Included patches: 1-1207
我的.vimrc有
:nmap ,s :source ~/.vimrc
我刚刚安装了mccvim后就尝试了,并且遇到了这些错误:
Error detected while processing /Users/jk/.vimrc:
line 18:
E15: Invalid expression: 0^M
line 20:
E15: Invalid expression: has("gui_running") && has("menu")^M
line 99:
E15: Invalid expression: 0^M
line 101:
E15: Invalid expression: has("gui_running") && has("menu")^M
line 203:
E15: Invalid expression: 0^M
line 205:
E15: Invalid expression: has("gui_running") && has("menu")^M
我根本没有在.vimrc中找到'0 ^ M'。
在更新之前一切都很好;发生了什么事?
答案 0 :(得分:2)
0A
,也表示为^J
); Windows使用CRLF(ASCII 0D0A
,也表示为^M^J
。
Vim可以使用这两种文件,具体取决于fileformats
(ffs
)设置。 set ffs=unix,dos
会让Vim尝试猜测文件的格式,并相应地设置fileformat
(ff
)。但是,如果ffs
设置为unix
,则Vim不会尝试猜测,ff
设置为unix
;在此设置下,如果文件是为Windows保存的(即具有CRLF行结尾),则LF将被解释为换行符,CR将显示为^M
。 Vimscript不知道如何处理^M
,并抱怨。
要将文件转换为Unix格式(建议的操作,因为您的文件对于您正在使用的操作系统来说是外来的),请运行以下命令:
:e ++ff=dos .vimrc
:setl ff=unix
:w