aboutsummaryrefslogtreecommitdiffstats
path: root/vim/vimrcs/plugs.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/vimrcs/plugs.vim')
-rw-r--r--vim/vimrcs/plugs.vim121
1 files changed, 121 insertions, 0 deletions
diff --git a/vim/vimrcs/plugs.vim b/vim/vimrcs/plugs.vim
new file mode 100644
index 0000000..cfd0136
--- /dev/null
+++ b/vim/vimrcs/plugs.vim
@@ -0,0 +1,121 @@
1" Vundle插件管理器配置
2set nocompatible "去除VIM一致性,必须
3filetype off "必须
4
5"设置包括vundle和初始化相关的运行时路径"
6set rtp+=/home/player/useful/bundle/Vundle.vim
7call vundle#begin('/home/player/useful/bundle')
8
9Plugin 'VundleVim/Vundle.vim' "启用vundle管理插件,必须
10Plugin 'Valloric/YouCompleteMe' "代码补全插件
11Plugin 'preservim/nerdtree' "文件目录树插件
12Plugin 'Xuyuanp/nerdtree-git-plugin' "nerdtree git支持
13Plugin 'skywind3000/vim-terminal-help' "vim-terminal-help插件
14Plugin 'scrooloose/syntastic' "语法检查插件
15"Plugin 'Lokaltog/powerline',{'rtp':'powerline/bindings/vim/'} "状态栏信息插件
16Plugin 'github/copilot.vim' "GitHub Copilot插件
17Plugin 'voldikss/vim-translator' "翻译插件
18Plugin 'yegappan/taglist' "taglist插件
19
20call vundle#end()
21filetype plugin indent on "加载vim自带和插件相应的语法和文件类型相关脚本,必须
22
23" YouCompleteMe
24let g:ycm_global_ycm_extra_conf='/home/player/useful/bundle/YouCompleteMe/.ycm_extra_conf.py'
25let g:ycm_key_invoke_completion = '<C-c>'
26let g:ycm_semantic_triggers = {
27 \ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],
28 \ 'cs,lua,javascript': ['re!\w{2}'],
29 \ }
30highlight PMenu ctermfg=34 ctermbg=21 guifg=darkred guibg=darkblue
31highlight PMenuSel ctermfg=21 ctermbg=34 guifg=darkblue guibg=darkred
32let g:ycm_autoclose_preview_window_after_completion=1
33nnoremap <leader>gf :YcmCompleter GoToDeclaration<CR>
34nnoremap <leader>gf :YcmCompleter GoToDefinition<CR>
35nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>
36nnoremap <leader>gr :YcmCompleter GoToReferences<CR>
37let g:ycm_min_num_of_chars_for_completion=3
38
39"NERDTree
40"autocmd vimenter * NERDTree "进入vim自动打开nerdtree
41"当nerdtree为当前标签页剩余唯一窗口时自动关闭
42autocmd bufenter * if(winnr('$') ==1 && exists('b:NERDTree') && b:NERDTree.isTabTree()) | quit | endif
43"F2键开关文件目录树,注意shift+i切换是否显示隐藏文件
44nmap <F2> :NERDTreeToggle<CR>
45nmap T :NERDTreeToggle<CR>
46let g:NERDTreeDirArrowExpandable = '+'
47let g:NERDTreeDirArrowCollapsible = '-' "修改树的显示图标
48"let g:NERDTreeWinPos='left' "窗口位置
49let g:NERDTreeSize=10 "窗口尺寸
50let g:NERDTreeShowLineNumbers=1 "窗口是否显示行号
51"let g:NERDTreeHidden=1 "似乎是隐藏文件的旧命令?没看到作用
52let NERDTreeShowHidden=1 "显示隐藏文件
53let NERDTreeIgnore = ['\.pyc$', '\.swp', '\.swo', '\.vscode', '__pycache__'] "过滤: 所有指定文件和文件夹不显示
54autocmd BufWinEnter * if getcmdwintype() == '' | silent NERDTreeMirror | endif "在每个标签页打开相同的文件树
55
56
57"nerdtree-git-plugin
58let g:NERDTreeGitStatusIndicatorMapCustom = {
59 \ 'Dirty' :'Dty',
60 \ 'Modified' :'M',
61 \ 'Staged' :'Sta',
62 \ 'Untracked' :'U',
63 \ 'Renamed' :'R',
64 \ 'Unmerged' :'Umg',
65 \ 'Deleted' :'X',
66 \ 'Ignored' :'Ign',
67 \ 'Clean' :'Cl',
68 \ 'Unknown' :'?',
69 \ }
70let g:NERDTreeGitStatusShowIgnored = 1 "a heavy feature may cost much more time. default: 0
71let g:NERDTreeGitStatusUntrackedFilesMode = 'all' "a heavy feature too. default: normal
72
73"vim-terminal-help
74"set termwinsize=10*106
75"let g:terminal_key = ''
76"设置光标在终端与编辑器间切换的快捷键
77
78"syntastic
79"YouCompleteMe插件对该插件支持过于优秀,一般不再需要配置,故废弃
80let g:syntastic_python_checkers=['pylint']
81let g:syntastic_python_pylint_args=['--disable=C0111,R0903,C0301']
82"GNU as汇编语言语法检查,需要安装as86和ld86
83let g:syntastic_asm_checkers=['as86']
84"" syntastic end
85
86" powerline
87let laststatus=2
88let g:airlinr_powerline_fonts=1 "使用官方打过补丁的字体
89let g:Powerline_symbols='fancy'
90
91"vim-translator
92let g:translator_target_lang = 'zh'
93let g:translator_source_lang = 'auto'
94let g:translator_default_engines = ['youdao', 'bing', 'haici']
95let g:translator_history_enable = v:true
96let g:translator_window_type = 'popup' "可选值为 'popup' 和 'preview',默认为 'popup'
97" Echo translation in the cmdline
98nmap <silent> <Leader>t <Plug>Translate
99vmap <silent> <Leader>t <Plug>TranslateV
100" Display translation in a window
101nmap <silent> <Leader>w <Plug>TranslateW
102vmap <silent> <Leader>w <Plug>TranslateWV
103" Replace the text with translation
104nmap <silent> <Leader>r <Plug>TranslateR
105vmap <silent> <Leader>r <Plug>TranslateRV
106" Translate the text in clipboard
107nmap <silent> <Leader>x <Plug>TranslateX
108
109
110"进行Taglist的设置
111map <F3> :TlistToggle<CR>
112map <F3> :silent Tlist<CR> "按下F3就可以呼出了
113let Tlist_Ctags_Cmd='/usr/local/bin/ctags' "因为我们放在环境变量里,所以可以直接执行
114let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边
115let Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表
116let Tlist_File_Fold_Auto_Close=0 "非当前文件列表折叠隐藏
117" 在每个标签页打开相同的函数列表
118autocmd BufWinEnter * if getcmdwintype() == '' | silent TlistUpdate | endif
119let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim
120let Tlist_Process_File_Always=0 "是否一直处理tags.1:处理;0:不处理
121let Tlist_Inc_Winwidth=1 "不是一直实时更新tags,因为没有必要