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