syntastic
pylint | eslint | phpqa--php+phpcs+phpmd
Eslint配置实战
ale
let g:ale_php_phan_minimum_severity = get(g:, 'ale_php_phan_minimum_severity', 0)
let g:ale_linters = {'php': ['php', 'langserver', 'phan']}
https://albert.cx/20190104-vim-for-php-development
Syntastic配置
et g:syntastic_enable_highlighting = 1 " 错误单词高亮
let g:syntastic_aggregate_errors = 1 "第一时间检查发现任何错误
let g:syntastic_enable_signs = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_stl_format = "[%E{Err: %fe #%e}%B{, }%W{Warn: %fw #%w}]"
let g:syntastic_debug_file = "~/syntastic.log"
" let g:syntastic_cpp_check_header = 1
let g:syntastic_cpp_checkers = ['gcc']
let g:syntastic_auto_jump = 1
let g:syntastic_enable_balloons = 1
let g:syntastic_cpp_compiler = 'g++'
let g:syntastic_cpp_compiler_options = '-std=c++11 -Wall -Wextra'
let g:syntastic_cpp_check_header = 1
let g:syntastic_cpp_auto_refresh_includes = 1
let g:syntastic_c_config_file = ['/home/howard/qt/qt-embedded-4.8.5/include/QtGui']
let g:syntastic_cpp_include_dirs = [
\ '/home/howard/qt/qt-embedded-4.8.5/include/QtCore',
\ '/home/howard/qt/qt-embedded-4.8.5/include/QtGui',
\ '/usr/lib/llvm-3.8/include/llvm',
\ '/usr/include/c++/5',
\ '/usr/lib/llvm-3.8/lib/clang/3.8.0/include' ]
let g:syntastic_ignore_files=[".*\.py$", ".*\.S$"] "让 syntastic忽略 python 文件,和汇编文件
let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute \"ng-"]
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
" YouCompleteMe options 这个自动补全的也有语法检测,需要关闭它的,配置如下
let g:ycm_enable_diagnostic_signs = 1 "诊断症状使能
let g:ycm_enable_diagnostic_highlighting = 0 "诊断语法彩笔做标记
let g:ycm_register_as_syntastic_checker = 1 " 使用syntastic检测语法
let g:ycm_error_symbol = '乄'
let g:ycm_warning_symbol = '〇'
" 这样配置就完美了,乄表示错误提示,而且这里配置了syntastic的检测,YCM是对python语法检测,对C++很多bug。
定制
autocmd FileType vue syntax sync fromstart
au BufNewFile,BufRead *.html,*.js,*.vue set tabstop=2
au BufNewFile,BufRead *.html,*.js,*.vue set softtabstop=2
au BufNewFile,BufRead *.html,*.js,*.vue set shiftwidth=2
au BufNewFile,BufRead *.html,*.js,*.vue set expandtab
au BufNewFile,BufRead *.html,*.js,*.vue set autoindent
au BufNewFile,BufRead *.html,*.js,*.vue set fileformat=unix
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_javascript_checkers = ['eslint']
打开一个vue文件,输入命令:
:SyntasticInfo
npm install eslint eslint-plugin-vue