在vim左边的灰色栏?

时间:2010-11-06 05:58:51

标签: linux vim

我在vim的左侧看到一个灰色条形图。任何其他文件都不会发生这种情况。这是什么?以及如何摆脱它?

编辑:

这就是它的样子:这继续文件的整个高度。它不会出现在任何其他文件中。该文件是*.C,可以正确识别为cpp文件类型,但这种情况不会发生在被识别为cpp的其他文件中。 colourschemedefault

alt text

EDIT2: 以下是文件的视图文件:

let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
argglobal
setlocal keymap=
setlocal noarabic
setlocal autoindent
setlocal nobinary
setlocal bufhidden=
setlocal buflisted
setlocal buftype=
setlocal cindent
setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
setlocal cinoptions=
setlocal cinwords=if,else,while,do,for,switch
setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
setlocal commentstring=/*%s*/
setlocal complete=.,w,b,u,t,i
setlocal completefunc=
setlocal nocopyindent
setlocal nocursorcolumn
setlocal nocursorline
setlocal define=
setlocal dictionary=
setlocal diff
setlocal equalprg=
setlocal errorformat=
setlocal expandtab
if &filetype != 'cpp'
setlocal filetype=cpp
endif
setlocal foldcolumn=2
setlocal foldenable
setlocal foldexpr=0
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldmarker={{{,}}}
setlocal foldmethod=diff
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal foldtext=foldtext()
setlocal formatexpr=
setlocal formatoptions=tcq
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
setlocal grepprg=
setlocal iminsert=0
setlocal imsearch=0
setlocal include=
setlocal includeexpr=
setlocal indentexpr=
setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
setlocal noinfercase
setlocal iskeyword=@,48-57,_,192-255
setlocal keywordprg=
setlocal nolinebreak
setlocal nolisp
setlocal nolist
setlocal makeprg=
setlocal matchpairs=(:),{:},[:]
setlocal nomodeline
setlocal modifiable
setlocal nrformats=octal,hex
setlocal nonumber
setlocal numberwidth=4
setlocal omnifunc=
setlocal path=
setlocal nopreserveindent
setlocal nopreviewwindow
setlocal quoteescape=\\
setlocal noreadonly
setlocal norightleft
setlocal rightleftcmd=search
setlocal scrollbind
setlocal shiftwidth=4
setlocal noshortname
setlocal smartindent
setlocal softtabstop=0
setlocal nospell
setlocal spellcapcheck=[.?!]\\_[\\])'\"\    \ ]\\+
setlocal spellfile=
setlocal spelllang=en
setlocal statusline=
setlocal suffixesadd=
setlocal swapfile
setlocal synmaxcol=3000
if &syntax != 'cpp'
setlocal syntax=cpp
endif
setlocal tabstop=4
setlocal tags=
setlocal textwidth=0
setlocal thesaurus=
setlocal nowinfixheight
setlocal nowinfixwidth
setlocal nowrap
setlocal wrapmargin=0
let s:l = 75 - ((20 * winheight(0) + 29) / 59)
if s:l < 1 | let s:l = 1 | endif
exe s:l
normal! zt
75
normal! 0
let &so = s:so_save | let &siso = s:siso_save
doautoall SessionLoadPost
" vim: set ft=vim 

6 个答案:

答案 0 :(得分:18)

:set foldcolumn = 0

答案 1 :(得分:8)

看起来某些插件会创建一个标志。尝试做

sign unplace *

要查找此插件的位置,请尝试

vim /path/to/file/that/causes/problem -c 'redir! >/tmp/scriptnames' -c scriptnames -c 'redir END' -c 'qa!'
perl -p -i -e 's/^\s*$//g;s/^\s*\d+:\s//g' /tmp/scriptnames
grep -F -w 'sign define' `cat /tmp/scriptnames`

答案 2 :(得分:1)

这可能有几个原因。一个可能是一个模式。 Modeline是文件开头或结尾的特殊行,用于为该文件设置Vim的特定设置。查找注释行(或以空白开头的行),后跟单词vim和空格。行中的任何文本可能都有助于调试它。

另一个选项可能是该文件具有特定的filetype,可触发.vimrc文件或其某个源模块中的autocommand集。特别要查找set numberrelativenumbercolorcolumnfoldcolumn或甚至是空白的特定突出显示设置。在相关缓冲区内的Vim中输入:set ft?,然后输入回车以了解为该文件设置的文件类型;使用它来查看vimrc中该文件类型的设置或.vim目录树中的突出显示设置。

答案 3 :(得分:0)

最可能的原因是在一个模式行中 - 一行中包含“vi:”或“vim:”或“ex:”等内容,然后在它之后出现一些被解释为选项。有关详细信息,请参阅:help modeline。我无法想到哪些选项可以让它看起来像那样。

尝试执行:set nomodeline并重新加载文件 - 如果修复了该文件,则该文件具有模式行(无论您是否打算使用它)。然后你可以看到修复它,或者如果你想在你的vimrc中禁用模式支持。

答案 4 :(得分:0)

只是要添加,您可以使用

告诉哪个脚本设置了该选项
:verbose set foldcolumn?

您可以将foldcolumn替换为您感兴趣的任何名称。

答案 5 :(得分:0)

就我而言,除了下面的解决方案,没有其他解决方案。

set signcolumn=no