Серый бар слева в vim?

Я получаю серое полотно с левой стороны в vim для одного файла. Это не происходит ни для какого другого файла. Что это? И как избавиться от него?

EDIT:

Это выглядит так: это продолжается для полной высоты файла. Он не отображается ни в каких других файлах. Файл представляет собой *.C, который правильно идентифицирован как тип файла cpp, но это не происходит с другими файлами, где они идентифицируются как cpp. colourscheme default

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 [email protected],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 

Ответы

Ответ 1

: установить foldcolumn = 0

Ответ 2

Похоже, какой-то плагин создает знак. Попробуйте сделать

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`

Ответ 3

Это может быть несколько причин. Один может быть образцом. Modeline - это специальная строка в начале или конце файла, которая задает для Vim определенные параметры для этого файла. Найдите строку комментария (или строку, начинающуюся с пробела), а затем слово vim и пробел. Любой текст, следующий в строке, может представлять интерес для отладки этого файла.

Другая опция может заключаться в том, что файл имеет конкретный filetype, который запускает autocommand, установленный в вашем файле .vimrc или одном из его источников. В частности, найдите set number, relativenumber, colorcolumn, foldcolumn или, возможно, даже специальные настройки выделения для пробелов. В Vim в соответствующем буфере введите :set ft?, за которым следует возврат каретки, чтобы узнать набор файлов для этого файла; используйте это, чтобы посмотреть настройки этого типа файлов в настройках vimrc или выделения в дереве каталогов .vim.

Ответ 4

Наиболее вероятной причиной для этого является то, что находится в моделировании - строка с содержимым типа "vi:" или "vim:" или "ex:" в ней, и после этого происходит что-то, что интерпретируется как вариант. См. :help modeline для получения дополнительной информации. Я не могу придумать, какие варианты могут сделать это так.

Попробуйте сделать :set nomodeline и перезагрузите файл - если это исправлено, файл имеет модельный (независимо от того, хотите ли вы его использовать или нет). Затем вы можете узнать о его исправлении или отключить поддержку модели, если хотите, в своем vimrc.

Ответ 5

Просто чтобы добавить, вы можете указать, какой script установить параметр, используя

:verbose set foldcolumn?

Вы можете заменить foldcolumn любым именем, которое вас интересует.

Ответ 6

В моем случае, никто другой, кроме ниже, не был решением.

set signcolumn=no