Серая полоска слева в vim? - PullRequest
16 голосов
/ 06 ноября 2010

Я получаю серую полосу с левой стороны в 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 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 ]

18 голосов
/ 06 ноября 2010

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

8 голосов
/ 06 ноября 2010

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

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`
1 голос
/ 06 ноября 2010

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

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

0 голосов
/ 24 июня 2019

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

set signcolumn=no
0 голосов
/ 24 марта 2014

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

:verbose set foldcolumn?

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

0 голосов
/ 06 ноября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...