Vim 自动命令创建奇怪的文件

Vim 自动命令创建奇怪的文件

我刚刚在 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 时会显示更多)。

不是确切的答案,但可以帮助您找到答案。

相关内容