我在vim的左侧看到一个灰色条形图。任何其他文件都不会发生这种情况。这是什么?以及如何摆脱它?
编辑:
这就是它的样子:这继续文件的整个高度。它不会出现在任何其他文件中。该文件是*.C
,可以正确识别为cpp
文件类型,但这种情况不会发生在被识别为cpp
的其他文件中。 colourscheme
为default
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
答案 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 number
,relativenumber
,colorcolumn
,foldcolumn
或甚至是空白的特定突出显示设置。在相关缓冲区内的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