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
任何想法是什麼導致了這種行為,以及如何解決它?
這是意料之中的;autocmd 執行Ex 命令
w:m1=matchadd('ErrorMsg','\%>100v.\+', -1)
。w
是 的縮寫形式write
,後面的內容被解釋為文件名。我猜 a
:let
失去了,因為這樣命令才有意義:let w:m1=...
定義一個視窗局部變數m1
並將matchadd()
呼叫結果分配給它。autocmd 似乎突出顯示第 100 列以外的所有字元。請注意,在最近的 Vim 7.3 版本中,您可以使用該
'colorcolumn'
功能::set colorcolumn=101