mirror of
https://github.com/amix/vimrc
synced 2025-02-28 14:12:51 +08:00
add myconfig
This commit is contained in:
parent
09d062a0a1
commit
ea869a3dc0
5
.gitignore
vendored
5
.gitignore
vendored
@ -4,7 +4,8 @@ temp_dirs/yankring_history_v2.txt
|
||||
sources_forked/yankring/doc/tags
|
||||
sources_non_forked/tlib/doc/tags
|
||||
sources_non_forked/ctrlp.vim/doc/tags*
|
||||
my_plugins/
|
||||
my_configs.vim
|
||||
sources_non_forked/*
|
||||
sources_forked/*
|
||||
my_plugins/*
|
||||
tags
|
||||
.DS_Store
|
||||
|
150
my_configs.vim
Normal file
150
my_configs.vim
Normal file
@ -0,0 +1,150 @@
|
||||
source plugins_config.vim
|
||||
let mapleader = ";"
|
||||
|
||||
set rnu
|
||||
highlight CursorLineNr guifg=#050505
|
||||
set nu
|
||||
set cin ts=4 sw=4 sts=4 et acd
|
||||
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
|
||||
set enc=utf8
|
||||
set fencs=utf8,gbk,gb2312,gb18030
|
||||
set cursorline
|
||||
|
||||
" for complete
|
||||
set completeopt=menu,menuone,preview,noselect,noinsert
|
||||
autocmd vimenter * NERDTree
|
||||
" autocmd vimenter * call system("touch .tags_root")
|
||||
autocmd StdinReadPre * let s:std_in=1
|
||||
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
|
||||
" autocmd TextChangedI * call ale#completion#Queue()
|
||||
" autocmd TextChangedI * call feedkeys("\<c-x>\<c-o>", 'i')
|
||||
|
||||
vnoremap <Leader>y "+y
|
||||
noremap <Leader>p "+p
|
||||
" autocmd BufWritePost $MYVIMRC source $MYVIMRC
|
||||
|
||||
noremap <Leader>n <c-]>
|
||||
noremap <Leader>b <c-t>
|
||||
|
||||
" Exuberant Ctags
|
||||
" let g:tagbar_ctags_bin='/usr/bin/ctags' " Proper Ctags locations
|
||||
" Universal Ctags
|
||||
let g:tagbar_ctags_bin='/usr/local/bin/ctags' " Proper Ctags locations
|
||||
" let g:tagbar_width=26 " Default is 40, seems too wide
|
||||
" noremap <silent> <Leader>y :TagbarToggle " Display panel with y (or ,y)
|
||||
|
||||
" noremap <Up> <Nop>
|
||||
" noremap <Down> <Nop>
|
||||
" noremap <Left> <Nop>
|
||||
" noremap <Right> <Nop>
|
||||
|
||||
" nnoremap <f5> :!ctags -R *<CR>
|
||||
" autocmd BufWritePost * call system("ctags -R *")
|
||||
|
||||
set spell
|
||||
set cinoptions=g0,:0,(0,W4,N-s
|
||||
" " completeparameter
|
||||
" inoremap <silent><expr> ( complete_parameter#pre_complete("()")
|
||||
" smap <c-j> <Plug>(complete_parameter#goto_next_parameter)
|
||||
" imap <c-j> <Plug>(complete_parameter#goto_next_parameter)
|
||||
" smap <c-k> <Plug>(complete_parameter#goto_previous_parameter)
|
||||
" imap <c-k> <Plug>(complete_parameter#goto_previous_parameter)
|
||||
|
||||
|
||||
" Specify a directory for plugins
|
||||
" - Avoid using standard Vim directory names like 'plugin'
|
||||
call plug#begin('~/.vim_runtime/my_plugins')
|
||||
|
||||
" Make sure you use single quotes
|
||||
|
||||
" YouCompleteMe
|
||||
|
||||
"let g:ycm_confirm_extra_conf = 0
|
||||
"let g:ycm_auto_trigger = 0
|
||||
"" let g:ycm_global_ycm_extra_conf = '~/.vim_runtime/data/.ycm_extra_conf.py'
|
||||
"let g:ycm_global_ycm_extra_conf = '~/.vim_runtime/my_plugins/YouCompleteMe/.ycm_extra_conf.py'
|
||||
"" let g:ycm_global_ycm_extra_conf = '~/.vim_runtime/my_plugins/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_confirm_extra_conf/'
|
||||
|
||||
"nnoremap <leader>jd :YcmCompleter GoTo<CR>
|
||||
"nnoremap <leader>y :let g:ycm_auto_trigger=0<CR> " turn off YCM
|
||||
"nnoremap <leader>Y :let g:ycm_auto_trigger=1<CR> "turn on YCM
|
||||
|
||||
"" let g:ycm_add_preview_to_completeopt = 0
|
||||
"" let g:ycm_show_diagnostics_ui = 0
|
||||
"" let g:ycm_server_log_level = 'info'
|
||||
"" let g:ycm_min_num_identifier_candidate_chars = 2
|
||||
"" let g:ycm_collect_identifiers_from_comments_and_strings = 1
|
||||
"" let g:ycm_complete_in_strings=1
|
||||
""
|
||||
"" set completeopt=menu,menuone
|
||||
"" let g:ycm_key_invoke_completion = '<c-z>'
|
||||
"" noremap <c-z> <NOP>
|
||||
"" Apply YCM FixIt
|
||||
"map <F9> :YcmCompleter FixIt<CR>
|
||||
|
||||
"" let g:ycm_semantic_triggers = {
|
||||
"" \ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],
|
||||
"" \ 'cs,lua,javascript': ['re!\w{2}'],
|
||||
"" \ }
|
||||
|
||||
" tenfyzhong/CompleteParameter.vim
|
||||
"Plug 'tenfyzhong/CompleteParameter.vim'
|
||||
|
||||
Plug 'elzr/vim-json'
|
||||
Plug 'airblade/vim-gitgutter'
|
||||
Plug 'junegunn/vim-easy-align'
|
||||
Plug 'Chiel92/vim-autoformat'
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'majutsushi/tagbar'
|
||||
Plug 'buoto/gotests-vim'
|
||||
" Plug 'ycm-core/YouCompleteMe' ", { 'do': './install.py --clang-completer' }
|
||||
" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
|
||||
|
||||
Plug 'universal-ctags/ctags'
|
||||
Plug 'ludovicchabant/vim-gutentags'
|
||||
|
||||
" Plug 'vim-airline/vim-airline'
|
||||
" Plug 'vim-airline/vim-airline-themes'
|
||||
" Plug 'altercation/vim-colors-solarized'
|
||||
" Plug 'itchyny/lightline.vim'
|
||||
|
||||
Plug 'voldikss/vim-translator'
|
||||
" Initialize plugin system
|
||||
call plug#end()
|
||||
|
||||
" gutentags 搜索工程目录的标志,碰到这些文件/目录名就停止向上一级目录递归
|
||||
let g:gutentags_project_root = ['.root', '.svn', '.git', '.hg', '.project', '.tags_root']
|
||||
" 所生成的数据文件的名称
|
||||
let g:gutentags_ctags_tagfile = '.tags'
|
||||
" 将自动生成的 tags 文件全部放入 ~/.cache/tags 目录中,避免污染工程目录
|
||||
let s:vim_tags = expand('~/.cache/tags')
|
||||
let g:gutentags_cache_dir = s:vim_tags
|
||||
" 配置 ctags 的参数
|
||||
let g:gutentags_ctags_extra_args = ['--fields=+niazS', '--extra=+q']
|
||||
let g:gutentags_ctags_extra_args += ['--c++-kinds=+px']
|
||||
let g:gutentags_ctags_extra_args += ['--c-kinds=+px']
|
||||
" 检测 ~/.cache/tags 不存在就新建
|
||||
if !isdirectory(s:vim_tags)
|
||||
silent! call mkdir(s:vim_tags, 'p')
|
||||
endif
|
||||
|
||||
" echodoc
|
||||
set noshowmode
|
||||
|
||||
" for vim-gitgutter
|
||||
GitGutterEnable
|
||||
GitGutterLineHighlightsEnable
|
||||
GitGutterSignsEnable
|
||||
|
||||
" for vim-easy-align
|
||||
" Start interactive EasyAlign in visual mode (e.g. vipga)
|
||||
xmap ga <Plug>(EasyAlign)
|
||||
|
||||
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
|
||||
nmap ga <Plug>(EasyAlign)
|
||||
|
||||
" for vim-autoformat
|
||||
noremap <F3> :Autoformat<CR>
|
252
plugins_config.vim
Normal file
252
plugins_config.vim
Normal file
@ -0,0 +1,252 @@
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Important:
|
||||
" This requries that you install https://github.com/amix/vimrc !
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => Load pathogen paths
|
||||
""""""""""""""""""""""""""""""
|
||||
let s:vim_runtime = expand('<sfile>:p:h')."/.."
|
||||
call pathogen#infect(s:vim_runtime.'/sources_forked/{}')
|
||||
call pathogen#infect(s:vim_runtime.'/sources_non_forked/{}')
|
||||
call pathogen#infect(s:vim_runtime.'/my_plugins/{}')
|
||||
call pathogen#helptags()
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => bufExplorer plugin
|
||||
""""""""""""""""""""""""""""""
|
||||
let g:bufExplorerDefaultHelp=0
|
||||
let g:bufExplorerShowRelativePath=1
|
||||
let g:bufExplorerFindActive=1
|
||||
let g:bufExplorerSortBy='name'
|
||||
map <leader>o :BufExplorer<cr>
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => MRU plugin
|
||||
""""""""""""""""""""""""""""""
|
||||
let MRU_Max_Entries = 400
|
||||
map <leader>f :MRU<CR>
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => YankStack
|
||||
""""""""""""""""""""""""""""""
|
||||
let g:yankstack_yank_keys = ['y', 'd']
|
||||
|
||||
nmap <c-p> <Plug>yankstack_substitute_older_paste
|
||||
nmap <c-n> <Plug>yankstack_substitute_newer_paste
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => CTRL-P
|
||||
""""""""""""""""""""""""""""""
|
||||
let g:ctrlp_working_path_mode = 0
|
||||
|
||||
let g:ctrlp_map = '<c-f>'
|
||||
map <leader>j :CtrlP<cr>
|
||||
map <c-b> :CtrlPBuffer<cr>
|
||||
|
||||
let g:ctrlp_max_height = 20
|
||||
let g:ctrlp_custom_ignore = 'node_modules\|^\.DS_Store\|^\.git\|^\.coffee'
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => ZenCoding
|
||||
""""""""""""""""""""""""""""""
|
||||
" Enable all functions in all modes
|
||||
let g:user_zen_mode='a'
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => snipMate (beside <TAB> support <CTRL-j>)
|
||||
""""""""""""""""""""""""""""""
|
||||
ino <c-j> <c-r>=snipMate#TriggerSnippet()<cr>
|
||||
snor <c-j> <esc>i<right><c-r>=snipMate#TriggerSnippet()<cr>
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => Vim grep
|
||||
""""""""""""""""""""""""""""""
|
||||
let Grep_Skip_Dirs = 'RCS CVS SCCS .svn generated'
|
||||
set grepprg=/bin/grep\ -nH
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Nerd Tree
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" let g:NERDTreeWinPos = "right"
|
||||
let g:NERDTreeWinPos = "left"
|
||||
let NERDTreeShowHidden=1
|
||||
let NERDTreeIgnore = ['\.pyc$', '__pycache__']
|
||||
let g:NERDTreeWinSize=40
|
||||
map <leader>nn :NERDTreeToggle<cr>
|
||||
map <leader>nb :NERDTreeFromBookmark<Space>
|
||||
map <leader>nf :NERDTreeFind<cr>
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => vim-multiple-cursors
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:multi_cursor_use_default_mapping=0
|
||||
|
||||
" Default mapping
|
||||
let g:multi_cursor_start_word_key = '<C-s>'
|
||||
let g:multi_cursor_select_all_word_key = '<A-s>'
|
||||
let g:multi_cursor_start_key = 'g<C-s>'
|
||||
let g:multi_cursor_select_all_key = 'g<A-s>'
|
||||
let g:multi_cursor_next_key = '<C-s>'
|
||||
let g:multi_cursor_prev_key = '<C-p>'
|
||||
let g:multi_cursor_skip_key = '<C-x>'
|
||||
let g:multi_cursor_quit_key = '<Esc>'
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => surround.vim config
|
||||
" Annotate strings with gettext
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
vmap Si S(i_<esc>f)
|
||||
au FileType mako vmap Si S"i${ _(<esc>2f"a) }<esc>
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => lightline
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ }
|
||||
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ 'active': {
|
||||
\ 'left': [ ['mode', 'paste'],
|
||||
\ ['fugitive', 'readonly', 'filename', 'modified'] ],
|
||||
\ 'right': [ [ 'lineinfo' ], ['percent'] ]
|
||||
\ },
|
||||
\ 'component': {
|
||||
\ 'readonly': '%{&filetype=="help"?"":&readonly?"🔒":""}',
|
||||
\ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}',
|
||||
\ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}'
|
||||
\ },
|
||||
\ 'component_visible_condition': {
|
||||
\ 'readonly': '(&filetype!="help"&& &readonly)',
|
||||
\ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))',
|
||||
\ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())'
|
||||
\ },
|
||||
\ 'separator': { 'left': ' ', 'right': ' ' },
|
||||
\ 'subseparator': { 'left': ' ', 'right': ' ' }
|
||||
\ }
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Vimroom
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:goyo_width=100
|
||||
let g:goyo_margin_top = 2
|
||||
let g:goyo_margin_bottom = 2
|
||||
nnoremap <silent> <leader>z :Goyo<cr>
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Vim-go
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:go_fmt_command = "goimports"
|
||||
let g:go_highlight_types = 1
|
||||
let g:go_highlight_functions = 1
|
||||
let g:go_highlight_function_calls = 1
|
||||
let g:go_highlight_operators = 1
|
||||
let g:go_highlight_extra_types = 1
|
||||
let g:go_highlight_build_constraints = 1
|
||||
let g:go_highlight_generate_tags = 1
|
||||
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Syntastic (syntax checker)
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
""始终开启标志列
|
||||
let g:ale_set_highlights = 1
|
||||
let g:ale_set_signs = 1
|
||||
let g:ale_sign_column_always = 1
|
||||
" let g:ale_sign_column_always = 1
|
||||
" let g:ale_set_highlights = 0
|
||||
"自定义error和warning图标
|
||||
let g:ale_sign_error = '✗'
|
||||
let g:ale_sign_warning = '⚡ '
|
||||
""在vim自带的状态栏中整合ale
|
||||
let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']
|
||||
"显示Linter名称,出错或警告等相关信息
|
||||
let g:ale_echo_msg_error_str = 'E'
|
||||
let g:ale_echo_msg_warning_str = 'W'
|
||||
let g:ale_echo_msg_format = '[%linter%] [%severity%] %s %code: %%s'
|
||||
|
||||
""普通模式下,sp前往上一个错误或警告,sn前往下一个错误或警告
|
||||
nmap sp <Plug>(ale_previous_wrap)
|
||||
nmap sn <Plug>(ale_next_wrap)
|
||||
"<Leader>s触发/关闭语法检查
|
||||
"nmap <Leader>s :ALEToggle<CR>
|
||||
""<Leader>d查看错误或警告的详细信息
|
||||
nmap <Leader>d :ALEDetail<CR>
|
||||
|
||||
" Set this. Airline will handle the rest.
|
||||
let g:airline#extensions#ale#enabled = 1
|
||||
let g:airline#extensions#tabline#formatter = 'default'
|
||||
let g:airline#extensions#tabline#left_sep = ' '
|
||||
let g:airline#extensions#tabline#left_alt_sep = '|'
|
||||
let g:airline_theme='dark'
|
||||
|
||||
" Enable completion where available.
|
||||
" let g:ale_completion_enabled = 1
|
||||
let g:ale_completion_delay = 500
|
||||
let g:ale_echo_delay = 20
|
||||
let g:ale_lint_delay = 500
|
||||
let g:ale_c_parse_compile_commands=1
|
||||
" 离开 insert 模式的时候运行 linter
|
||||
let g:ale_lint_on_insert_leave = 1
|
||||
let g:ale_c_cppcheck_options = '--enable=all'
|
||||
let g:ale_cpp_cppcheck_options = '--enable=all'
|
||||
|
||||
let g:ale_linters_explicit = 1
|
||||
let g:ale_lint_on_insert_leave = 1
|
||||
let g:ale_c_gcc_options = '-Wall -O2 -std=c99'
|
||||
let g:ale_cpp_gcc_options = '-Wall -O2 -std=c++14'
|
||||
|
||||
|
||||
let g:ale_linters = {
|
||||
\ 'make': ['make', 'checkmake'],
|
||||
\ 'cmake': ['cmake', 'cmakelint'],
|
||||
\ 'c': ['c', "gcc", "clangd", "cppcheck", "clang"],
|
||||
\ 'cpp': ['cpp', "gcc", "clangd", "clang", "cppcheck", "cpplint"],
|
||||
\ 'javascript': ['jshint'],
|
||||
\ 'python': ['flake8'],
|
||||
\ 'go': ['go', 'golangserver', 'go vet', 'golint', 'errcheck']
|
||||
\}
|
||||
|
||||
nmap <silent> <leader>a <Plug>(ale_next_wrap)
|
||||
|
||||
" Disabling highlighting
|
||||
let g:ale_set_highlights = 0
|
||||
|
||||
" Only run linting when saving the file
|
||||
let g:ale_lint_on_text_changed = 'never'
|
||||
let g:ale_lint_on_enter = 0
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Git gutter (Git diff)
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:gitgutter_enabled=1
|
||||
nnoremap <silent> <leader>d :GitGutterToggle<cr>
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Tagbar (TagbarToggle)
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
nmap <F8> :TagbarToggle<CR>
|
||||
nnoremap <silent> <leader>tt :TagbarToggle<cr>
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => gotests-vim
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:gotests_bin = s:vim_runtime.'/bin/gotests'
|
Loading…
Reference in New Issue
Block a user