Vundle git
^ README 대로 git clone 하여 설치한다.
~/.vim/bundle/Vundle.vim 에 설치함에 유의.
:set ignorecase
:set nu
:set rnu
"-----------------------------------------------------------------------"
" Vundle 환경설정
"------------------------------------------------------------------------"
filetype off " required!
set shell=/bin/bash
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle
" required!
Plugin 'VundleVim/Vundle.vim'
" vim 하단에 파일 정보 띄우기
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
" ...
"명령어 자동완성 플러그인(inc + <C-a> : #includ<>)
Plugin 'SirVer/ultisnips'
Plugin 'honza/vim-snippets'
" ...
Plugin 'dense-analysis/ale'
call vundle#end()
filetype plugin indent on " required!
"
" Brief help
" :BundleList - list configured bundles
" :BundleInstall(!) - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!) - confirm(or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..
"-----------------------------------------------------------------------"
" ultisnips&vim-snippets Trigger Configuration
"-----------------------------------------------------------------------""
" Trigger configuration. You need to change this to something other than <tab>
" if you use one of the following:
" " - https://github.com/Valloric/YouCompleteMe
" " - https://github.com/nvim-lua/completion-nvim
let g:UltiSnipsExpandTrigger="<C-a>"
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
" If you want :UltiSnipsEdit to split your window.
let g:UltiSnipsEditSplit="vertical"
" let g:UltiSnipsSnippetDirectories = ['~/.vim/UltiSnips']
" for ALE
let b:ale_linters = {'c': ['gcc'], 'verilog':['verilator'], 'systemverilog':['xvlog', 'verilator']}
" ALE가 에러와 경고를 표시하는 방법 설정
let g:ale_set_highlights = 1
let g:ale_set_signs = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_echo_cursor = 1
"let g:ale_echo_msg_error_str = 'E'
"let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = 'linter says - [%linter%] %s [%severity%]'
이 때, bundle의 파일구조는 아래와 같아야 한다.
각 bundle은 보다시피 git clone 한 것과 동일하다.
.git/config 또한 그냥 보통의 것과 같다.
미리 설정된 Template 대로 출력해주는 기능이다.
vimrc의 ale_linter를
let b:ale_linters = {'c': ['gcc'], 'verilog':['verilator'], 'systemverilog':['xvlog']}
로 하면,
로 xvlog로 잡힌다.
let g:ale_completion_enabled = 1
를 해도, auto-suggestion이 안되는 현상은 해결해야한다. c랑 verilog 모두 안된다.