Vim syntastic:如何使用这个插件来获得符号选项?

时间:2022-01-26 09:59:13

I know I have Syntastic working because in a test .c file I'll write a line with a missing semicolon and move it around, and the :Errors window reports the correct syntax error location.

我知道我有Syntastic的工作,因为在test .c文件中,我将用一个缺失的分号写一行,然后移动它,并且:error窗口报告正确的语法错误位置。

However I cannot get the syntastic-error-signs option working.

然而,我无法得到syntaso -error-sign选项的工作。

This is my full .vimrc (Syntastic specific options at bottom of file)

这是我的full .vimrc(文件底部的Syntastic特定选项)

set nocompatible 
set enc=utf-8
set fenc=utf-8
set number
set backspace=indent,eol,start "allow bs over everything
fixdel "for Cygwin
set nobackup
"set noswapfile
set dir=/tmp "swap file location

set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set shiftround "use multiples of shiftwidth when using < or >
"set expandtab "use spaces instead of \t
set nowrap
set history=1000         " remember more commands and search history
set undolevels=1000      " use many muchos levels of undo
set wildignore=*.swp,*.bak,*.pyc,*.class
set title                " change the terminal's title
set visualbell           " don't beep
set noerrorbells         " don't beep

set splitright
set splitbelow

" Minimal number of screen lines to keep above and below the cursor.
set scrolloff=4

" Shows the current line in different color
set cursorline

filetype plugin on
syntax on
highlight ExtraWhitespace ctermbg=darkgreen guibg=lightgreen
autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/
"remove trailing whitespace
"http://vim.wikia.com/wiki/Remove_unwanted_spaces#Automatically_removing_all_trailing_whitespace
"autocmd BufWritePre * :%s/\s\+$//e
autocmd BufWritePre *.c :%s/\s\+$//e
autocmd BufWritePre *.cpp :%s/\s\+$//e
autocmd BufWritePre *.c++ :%s/\s\+$//e
autocmd BufWritePre *.h :%s/\s\+$//e
autocmd BufWritePre *.java :%s/\s\+$//e
autocmd BufWritePre *.php :%s/\s\+$//e
autocmd BufWritePre *.pl :%s/\s\+$//e
autocmd BufWritePre *.py :%s/\s\+$//e
"autocmd FileType c,cpp,c++,java,php,pl,py autocmd BufWritePre <buffer> :call setline(1,map(getline(1,"$"),'substitute(v:val,"\\s\\+$","","")'))

"search options
set smartcase "ignore case if all lowercase
set ignorecase
set incsearch
set hlsearch
set showmatch

nmap <space> <C-f>
nmap n nzz
nmap N Nzz

"adding / removing lines
map <S-Enter> O<Esc>j
map <CR> o<Esc>k

"reduce keystrokes for command mode
inoremap ;w <esc>:w<cr>a
nnoremap ; :

"set arrow keys to move between buffer / tabs
inoremap <Up> <esc>:bprev<cr>
inoremap <Down> <esc>:bnext<cr>
inoremap <Left> <esc>:tabprev<cr>
inoremap <Right> <esc>:tabnext<cr>
noremap <Up> :bprev<cr>
noremap <Down> :bnext<cr>
noremap <Left> :tabprev<cr>
noremap <Right> :tabnext<cr>

" Easy window navigation
map <C-h> <C-w>h
map <C-j> <C-w>j
map <C-k> <C-w>k
map <C-l> <C-w>l

"Maps for jj to act as esc
inoremap jj <esc>
cnoremap jj <C-c>
inoremap jk <esc>
inoremap kj <esc>

"Use Q for formatting the current paragraph (or selection)
vmap Q gq
nmap Q gqap

"navigate wrapped lines
nnoremap k gk
nnoremap j gj
nnoremap gk k
nnoremap gj j

"forget sudo
cmap w!! w !sudo tee % >/dev/null

"toggle set paste option
set pastetoggle=<F2>

"gvim specific options
set vb t_vb=
set guioptions-=T

"set foldmethod=indent
set showtabline=2

"plugin command t
noremap <S-T> :CommandT<cr>

"always show status line
set laststatus=2
set statusline=%<%y\ b%n\ %h%m%r%=%-14.(%l,%c%V%)\ %P

"for Syntastic
let g:syntastic_enable_signs=1
let g:syntastic_quiet_warnings=1

au BufWritePost ~/.vimrc source ~/.vimrc

1 个解决方案

#1


3  

Your copy of Vim must be compiled with signs support in order for this to work -- you can check by entering the following in command mode:

您的Vim拷贝必须通过符号支持编译,以便于工作——您可以通过输入以下命令模式来检查:

:echo has('signs')

and look for it to return a 1.

然后求它返回1。

#1


3  

Your copy of Vim must be compiled with signs support in order for this to work -- you can check by entering the following in command mode:

您的Vim拷贝必须通过符号支持编译,以便于工作——您可以通过输入以下命令模式来检查:

:echo has('signs')

and look for it to return a 1.

然后求它返回1。