我刚刚在 virtualbox 上设置了 slackware 14。正如人们所做的那样,我立即创建/更改了我的文件.bashrc
,更重要的是,我的.vimrc
文件。
为了避免编写大量代码,我通常添加类似的内容
au BufWinEnter * w:m1=matchadd('ErrorMsg','\%>100v.\+', -1)
if version >= 702
au BufWinLeave * call clearmatches()
endif
我已经使用这些设置有一段时间了,只是这一次,每当我在 vim 中打开文件时,都会创建一个奇怪的文件,:m1=matchadd('ErrorMsg','\%>100v.\+', -1)
其名称是这样的。
我已经将我的文件减少.vimrc
到只有基础知识,我相信这与这个奇怪的事情没有任何关系(vim-7.3.645-x86_64-1):
set nocompatible
set ai
set nu
set ruler
set hlsearch
set hidden
set showcmd
set cursorline
set confirm
syntax on
color evening
au BufWinEnter * w:m1=matchadd('ErrorMsg','\%>100v.\+', -1)
if version >= 702
au BufWinLeave * call clearmatches()
endif
有什么想法导致这种行为以及如何解决它吗?
答案1
这是预料之中的; autocmd 执行前命令 w:m1=matchadd('ErrorMsg','\%>100v.\+', -1)
。w
是 的缩写形式write
,后面的内容被解释为文件名。
我猜 a:let
丢失了,因为这样命令就有意义了:let w:m1=...
定义一个窗口局部变量m1
并将调用的结果分配matchadd()
给它。
autocmd 似乎会突出显示第 100 列之外的所有字符。请注意,在最近的 Vim 7.3 版本中,您可以使用该'colorcolumn'
功能:
:set colorcolumn=101
答案2
如果你添加,
set vbs=1 " 详细错误报告 0 = 标准到 9 = 最大
进入你的 .vimrc 并从 3 或 4 开始,它将显示你打开 vim/文件时加载/调用的所有文件(当你推到 9 时会显示更多)。
不是确切的答案,但可以帮助您找到答案。