From dfb947732c2c57ff16c6e037f7aeda1844628368 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Sat, 26 Jul 2025 10:41:35 +0800 Subject: Update --- vim/init/plugins.vim | 708 +-------------------------------------------------- 1 file changed, 3 insertions(+), 705 deletions(-) (limited to 'vim/init') diff --git a/vim/init/plugins.vim b/vim/init/plugins.vim index d8b1307..a96c14d 100644 --- a/vim/init/plugins.vim +++ b/vim/init/plugins.vim @@ -10,710 +10,8 @@ call plug#begin('~/.vim/plugged') -"""""""""""""""""""""""""""""" -" => Set statusline -"""""""""""""""""""""""""""""" -Plug 'itchyny/lightline.vim' -let g:lightline = { 'colorscheme': 'wombat' } - -"""""""""""""""""""""""""""""" -" => MRU plugin -"""""""""""""""""""""""""""""" -Plug 'yegappan/mru' -let MRU_Max_Entries = 400 -nnoremap f :MRU - -"""""""""""""""""""""""""""""" -" => Goyo for focus -"""""""""""""""""""""""""""""" -Plug 'junegunn/goyo.vim' -nnoremap z :Goyo - -let g:goyo_width = 80 -let g:goyo_height = "85%" -let g:goyo_linenr = 0 - - -function! s:goyo_enter() - let b:quitting = 0 - let b:quitting_bang = 0 - autocmd QuitPre let b:quitting = 1 - cabbrev q! let b:quitting_bang = 1 q! -endfunction - -function! s:goyo_leave() - " Quit Vim if this is the only remaining buffer - if b:quitting && len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) == 1 - if b:quitting_bang - qa! - else - qa - endif - endif -endfunction - -autocmd! User GoyoEnter call goyo_enter() -autocmd! User GoyoLeave call goyo_leave() - - -"""""""""""""""""""""""""""""" -" => bufExplorer plugin -"""""""""""""""""""""""""""""" -Plug 'jlanzarotta/bufexplorer' -let g:bufExplorerDefaultHelp=0 -let g:bufExplorerShowRelativePath=1 -let g:bufExplorerFindActive=1 -let g:bufExplorerSortBy='name' -map q ::BufExplorer -map Q ::BufExplorerVerticalSplit - - -"""""""""""""""""""""""""""""" -" => Auto set tabline (tal) -"""""""""""""""""""""""""""""" -Plug 'webdevel/tabulous' - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Nerd Tree -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Plug 'preservim/nerdtree' -let g:NERDTreeWinPos = "left" -let NERDTreeShowHidden=0 -let NERDTreeQuitOnOpen=1 -let NERDTreeIgnore = ['\.pyc$', '__pycache__'] -let g:NERDTreeWinSize=35 -map :NERDTreeToggle -map nb :NERDTreeFromBookmark -map nf :NERDTreeFind - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => vim-surrounded -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Plug 'tpope/vim-surround' -vmap [ S[ - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Markdown -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Plug 'godlygeek/tabular' -Plug 'preservim/vim-markdown' - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => ALE (Asynchronous Lint Engine) -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -Plug 'dense-analysis/ale' -let g:ale_sign_column_always = 1 -let g:ale_sign_error = '>>' -let g:ale_sign_warning = '--' - -" show errors or warnings in my statusline -let g:airline#extensions#ale#enabled = 1 - -" use quickfix list instead of the loclist -let g:ale_set_loclist = 0 -let g:ale_set_quickfix = 1 - - -""---------------------------------------------------------------------- -"" 默认情况下的分组,可以再前面覆盖之 -""---------------------------------------------------------------------- -"if !exists('g:bundle_group') -" let g:bundle_group = ['basic', 'tags', 'enhanced', 'filetypes', 'textobj'] -" let g:bundle_group += ['tags', 'airline', 'nerdtree', 'ale', 'echodoc'] -" let g:bundle_group += ['leaderf'] -"endif -" -" -""---------------------------------------------------------------------- -"" 计算当前 vim-init 的子路径 -""---------------------------------------------------------------------- -"let s:home = fnamemodify(resolve(expand(':p')), ':h:h') -" -"function! s:path(path) -" let path = expand(s:home . '/' . a:path ) -" return substitute(path, '\\', '/', 'g') -"endfunc -" -" -""---------------------------------------------------------------------- -"" 在 ~/.vim/bundles 下安装插件 -""---------------------------------------------------------------------- -"call plug#begin(get(g:, 'bundle_home', '~/.vim/bundles')) -" -" -""---------------------------------------------------------------------- -"" 默认插件 -""---------------------------------------------------------------------- -" -"" 全文快速移动,f{char} 即可触发 -"Plug 'easymotion/vim-easymotion' -" -"" 文件浏览器,代替 netrw -"Plug 'justinmk/vim-dirvish' -" -"" 表格对齐,使用命令 Tabularize -"Plug 'godlygeek/tabular', { 'on': 'Tabularize' } -" -"" Diff 增强,支持 histogram / patience 等更科学的 diff 算法 -"Plug 'chrisbra/vim-diff-enhanced' -" -" -""---------------------------------------------------------------------- -"" Dirvish 设置:自动排序并隐藏文件,同时定位到相关文件 -"" 这个排序函数可以将目录排在前面,文件排在后面,并且按照字母顺序排序 -"" 比默认的纯按照字母排序更友好点。 -""---------------------------------------------------------------------- -"function! s:setup_dirvish() -" if &buftype != 'nofile' && &filetype != 'dirvish' -" return -" endif -" if has('nvim') -" return -" endif -" " 取得光标所在行的文本(当前选中的文件名) -" let text = getline('.') -" if ! get(g:, 'dirvish_hide_visible', 0) -" exec 'silent keeppatterns g@\v[\/]\.[^\/]+[\/]?$@d _' -" endif -" " 排序文件名 -" exec 'sort ,^.*[\/],' -" let name = '^' . escape(text, '.*[]~\') . '[/*|@=|\\*]\=\%($\|\s\+\)' -" " 定位到之前光标处的文件 -" call search(name, 'wc') -" noremap ~ :Dirvish ~ -" noremap % :e % -"endfunc -" -"augroup MyPluginSetup -" autocmd! -" autocmd FileType dirvish call s:setup_dirvish() -"augroup END -" -" -""---------------------------------------------------------------------- -"" 基础插件 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'basic') >= 0 -" -" " 展示开始画面,显示最近编辑过的文件 -" Plug 'mhinz/vim-startify' -" -" " 一次性安装一大堆 colorscheme -" Plug 'flazz/vim-colorschemes' -" -" " 支持库,给其他插件用的函数库 -" Plug 'xolox/vim-misc' -" -" " 用于在侧边符号栏显示 marks (ma-mz 记录的位置) -" Plug 'kshenoy/vim-signature' -" -" " 用于在侧边符号栏显示 git/svn 的 diff -" Plug 'mhinz/vim-signify' -" -" " 根据 quickfix 中匹配到的错误信息,高亮对应文件的错误行 -" " 使用 :RemoveErrorMarkers 命令或者 ha 清除错误 -" Plug 'mh21/errormarker.vim' -" -" " 使用 ALT+e 会在不同窗口/标签上显示 A/B/C 等编号,然后字母直接跳转 -" Plug 't9md/vim-choosewin' -" -" " 提供基于 TAGS 的定义预览,函数参数预览,quickfix 预览 -" Plug 'skywind3000/vim-preview' -" -" " Git 支持 -" Plug 'tpope/vim-fugitive' -" -" " 使用 ALT+E 来选择窗口 -" nmap (choosewin) -" -" " 默认不显示 startify -" let g:startify_disable_at_vimenter = 1 -" let g:startify_session_dir = '~/.vim/session' -" -" " 使用 ha 清除 errormarker 标注的错误 -" noremap ha :RemoveErrorMarkers -" -" " signify 调优 -" let g:signify_vcs_list = ['git', 'svn'] -" let g:signify_sign_add = '+' -" let g:signify_sign_delete = '_' -" let g:signify_sign_delete_first_line = '‾' -" let g:signify_sign_change = '~' -" let g:signify_sign_changedelete = g:signify_sign_change -" -" " git 仓库使用 histogram 算法进行 diff -" let g:signify_vcs_cmds = { -" \ 'git': 'git diff --no-color --diff-algorithm=histogram --no-ext-diff -U0 -- %f', -" \} -"endif -" -" -""---------------------------------------------------------------------- -"" 增强插件 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'enhanced') >= 0 -" -" " 用 v 选中一个区域后,ALT_+/- 按分隔符扩大/缩小选区 -" Plug 'terryma/vim-expand-region' -" -" " 快速文件搜索 -" Plug 'junegunn/fzf' -" -" " 给不同语言提供字典补全,插入模式下 c-x c-k 触发 -" Plug 'asins/vim-dict' -" -" " 使用 :FlyGrep 命令进行实时 grep -" Plug 'wsdjeg/FlyGrep.vim' -" -" " 使用 :CtrlSF 命令进行模仿 sublime 的 grep -" Plug 'dyng/ctrlsf.vim' -" -" " 配对括号和引号自动补全 -" Plug 'Raimondi/delimitMate' -" -" " 提供 gist 接口 -" Plug 'lambdalisue/vim-gista', { 'on': 'Gista' } -" -" " ALT_+/- 用于按分隔符扩大缩小 v 选区 -" map (expand_region_expand) -" map (expand_region_shrink) -"endif -" -" -""---------------------------------------------------------------------- -"" 自动生成 ctags/gtags,并提供自动索引功能 -"" 不在 git/svn 内的项目,需要在项目根目录 touch 一个空的 .root 文件 -"" See https://zhuanlan.zhihu.com/p/36279445 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'tags') >= 0 -" -" " 提供 ctags/gtags 后台数据库自动更新功能 -" Plug 'ludovicchabant/vim-gutentags' -" -" " 提供 GscopeFind 命令并自动处理好 gtags 数据库切换 -" " 支持光标移动到符号名上:cg 查看定义,cs 查看引用 -" Plug 'skywind3000/gutentags_plus' -" -" " 设定项目目录标志:除了 .git/.svn 外,还有 .root 文件 -" let g:gutentags_project_root = ['.root'] -" let g:gutentags_ctags_tagfile = '.tags' -" -" " 默认生成的数据文件集中到 ~/.cache/tags 避免污染项目目录,好清理 -" let g:gutentags_cache_dir = expand('~/.cache/tags') -" -" " 默认禁用自动生成 -" let g:gutentags_modules = [] -" -" " 如果有 ctags 可执行就允许动态生成 ctags 文件 -" if executable('ctags') -" let g:gutentags_modules += ['ctags'] -" endif -" -" " 如果有 gtags 可执行就允许动态生成 gtags 数据库 -" if executable('gtags') && executable('gtags-cscope') -" let g:gutentags_modules += ['gtags_cscope'] -" endif -" -" " 设置 ctags 的参数 -" let g:gutentags_ctags_extra_args = [] -" 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'] -" -" " 使用 universal-ctags 的话需要下面这行,请反注释 -" " let g:gutentags_ctags_extra_args += ['--output-format=e-ctags'] -" -" " 禁止 gutentags 自动链接 gtags 数据库 -" let g:gutentags_auto_add_gtags_cscope = 0 -"endif -" -" -""---------------------------------------------------------------------- -"" 文本对象:textobj 全家桶 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'textobj') >= 0 -" -" " 基础插件:提供让用户方便的自定义文本对象的接口 -" Plug 'kana/vim-textobj-user' -" -" " indent 文本对象:ii/ai 表示当前缩进,vii 选中当缩进,cii 改写缩进 -" Plug 'kana/vim-textobj-indent' -" -" " 语法文本对象:iy/ay 基于语法的文本对象 -" Plug 'kana/vim-textobj-syntax' -" -" " 函数文本对象:if/af 支持 c/c++/vim/java -" Plug 'kana/vim-textobj-function', { 'for':['c', 'cpp', 'vim', 'java'] } -" -" " 参数文本对象:i,/a, 包括参数或者列表元素 -" Plug 'sgur/vim-textobj-parameter' -" -" " 提供 python 相关文本对象,if/af 表示函数,ic/ac 表示类 -" Plug 'bps/vim-textobj-python', {'for': 'python'} -" -" " 提供 uri/url 的文本对象,iu/au 表示 -" Plug 'jceb/vim-textobj-uri' -"endif -" -" -""---------------------------------------------------------------------- -"" 文件类型扩展 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'filetypes') >= 0 -" -" " powershell 脚本文件的语法高亮 -" Plug 'pprovost/vim-ps1', { 'for': 'ps1' } -" -" " lua 语法高亮增强 -" Plug 'tbastos/vim-lua', { 'for': 'lua' } -" -" " C++ 语法高亮增强,支持 11/14/17 标准 -" Plug 'octol/vim-cpp-enhanced-highlight', { 'for': ['c', 'cpp'] } -" -" " 额外语法文件 -" Plug 'justinmk/vim-syntax-extra', { 'for': ['c', 'bison', 'flex', 'cpp'] } -" -" " python 语法文件增强 -" Plug 'vim-python/python-syntax', { 'for': ['python'] } -" -" " rust 语法增强 -" Plug 'rust-lang/rust.vim', { 'for': 'rust' } -" -" " vim org-mode -" Plug 'jceb/vim-orgmode', { 'for': 'org' } -"endif -" -" -""---------------------------------------------------------------------- -"" airline -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'airline') >= 0 -" Plug 'vim-airline/vim-airline' -" Plug 'vim-airline/vim-airline-themes' -" let g:airline_left_sep = '' -" let g:airline_left_alt_sep = '' -" let g:airline_right_sep = '' -" let g:airline_right_alt_sep = '' -" let g:airline_powerline_fonts = 0 -" let g:airline_exclude_preview = 1 -" let g:airline_section_b = '%n' -" let g:airline_theme='deus' -" let g:airline#extensions#branch#enabled = 0 -" let g:airline#extensions#syntastic#enabled = 0 -" let g:airline#extensions#fugitiveline#enabled = 0 -" let g:airline#extensions#csv#enabled = 0 -" let g:airline#extensions#vimagit#enabled = 0 -"endif -" -" -""---------------------------------------------------------------------- -"" NERDTree -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'nerdtree') >= 0 -" Plug 'scrooloose/nerdtree', {'on': ['NERDTree', 'NERDTreeFocus', 'NERDTreeToggle', 'NERDTreeCWD', 'NERDTreeFind'] } -" Plug 'tiagofumo/vim-nerdtree-syntax-highlight' -" let g:NERDTreeMinimalUI = 1 -" let g:NERDTreeDirArrows = 1 -" let g:NERDTreeHijackNetrw = 0 -" noremap nn :NERDTree -" noremap no :NERDTreeFocus -" noremap nm :NERDTreeMirror -" noremap nt :NERDTreeToggle -"endif -" -" -""---------------------------------------------------------------------- -"" LanguageTool 语法检查 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'grammer') >= 0 -" Plug 'rhysd/vim-grammarous' -" noremap rg :GrammarousCheck --lang=en-US --no-move-to-first-error --no-preview -" map rr (grammarous-open-info-window) -" map rv (grammarous-move-to-info-window) -" map rs (grammarous-reset) -" map rx (grammarous-close-info-window) -" map rm (grammarous-remove-error) -" map rd (grammarous-disable-rule) -" map rn (grammarous-move-to-next-error) -" map rp (grammarous-move-to-previous-error) -"endif -" -" -""---------------------------------------------------------------------- -"" ale:动态语法检查 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'ale') >= 0 -" Plug 'w0rp/ale' -" -" " 设定延迟和提示信息 -" let g:ale_completion_delay = 500 -" let g:ale_echo_delay = 20 -" let g:ale_lint_delay = 500 -" let g:ale_echo_msg_format = '[%linter%] %code: %%s' -" -" " 设定检测的时机:normal 模式文字改变,或者离开 insert模式 -" " 禁用默认 INSERT 模式下改变文字也触发的设置,太频繁外,还会让补全窗闪烁 -" let g:ale_lint_on_text_changed = 'normal' -" let g:ale_lint_on_insert_leave = 1 -" -" " 在 linux/mac 下降低语法检查程序的进程优先级(不要卡到前台进程) -" if has('win32') == 0 && has('win64') == 0 && has('win32unix') == 0 -" let g:ale_command_wrapper = 'nice -n5' -" endif -" -" " 允许 airline 集成 -" let g:airline#extensions#ale#enabled = 1 -" -" " 编辑不同文件类型需要的语法检查器 -" let g:ale_linters = { -" \ 'c': ['gcc', 'cppcheck'], -" \ 'cpp': ['gcc', 'cppcheck'], -" \ 'python': ['flake8', 'pylint'], -" \ 'lua': ['luac'], -" \ 'go': ['go build', 'gofmt'], -" \ 'java': ['javac'], -" \ 'javascript': ['eslint'], -" \ } -" -" -" " 获取 pylint, flake8 的配置文件,在 vim-init/tools/conf 下面 -" function s:lintcfg(name) -" let conf = s:path('tools/conf/') -" let path1 = conf . a:name -" let path2 = expand('~/.vim/linter/'. a:name) -" if filereadable(path2) -" return path2 -" endif -" return shellescape(filereadable(path2)? path2 : path1) -" endfunc -" -" " 设置 flake8/pylint 的参数 -" let g:ale_python_flake8_options = '--conf='.s:lintcfg('flake8.conf') -" let g:ale_python_pylint_options = '--rcfile='.s:lintcfg('pylint.conf') -" let g:ale_python_pylint_options .= ' --disable=W' -" let g:ale_c_gcc_options = '-Wall -O2 -std=c99' -" let g:ale_cpp_gcc_options = '-Wall -O2 -std=c++14' -" let g:ale_c_cppcheck_options = '' -" let g:ale_cpp_cppcheck_options = '' -" -" let g:ale_linters.text = ['textlint', 'write-good', 'languagetool'] -" -" " 如果没有 gcc 只有 clang 时(FreeBSD) -" if executable('gcc') == 0 && executable('clang') -" let g:ale_linters.c += ['clang'] -" let g:ale_linters.cpp += ['clang'] -" endif -"endif -" -" -""---------------------------------------------------------------------- -"" echodoc:搭配 YCM/deoplete 在底部显示函数参数 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'echodoc') >= 0 -" Plug 'Shougo/echodoc.vim' -" set noshowmode -" let g:echodoc#enable_at_startup = 1 -"endif -" -" -""---------------------------------------------------------------------- -"" LeaderF:CtrlP / FZF 的超级代替者,文件模糊匹配,tags/函数名 选择 -""---------------------------------------------------------------------- -"if index(g:bundle_group, 'leaderf') >= 0 -" " 如果 vim 支持 python 则启用 Leaderf -" if has('python') || has('python3') -" Plug 'Yggdroot/LeaderF' -" -" " CTRL+p 打开文件模糊匹配 -" let g:Lf_ShortcutF = '' -" -" " ALT+n 打开 buffer 模糊匹配 -" let g:Lf_ShortcutB = '' -" -" " CTRL+n 打开最近使用的文件 MRU,进行模糊匹配 -" noremap :LeaderfMru -" -" " ALT+p 打开函数列表,按 i 进入模糊匹配,ESC 退出 -" noremap :LeaderfFunction! -" -" " ALT+SHIFT+p 打开 tag 列表,i 进入模糊匹配,ESC退出 -" noremap :LeaderfBufTag! -" -" " ALT+n 打开 buffer 列表进行模糊匹配 -" noremap :LeaderfBuffer -" -" " ALT+m 全局 tags 模糊匹配 -" noremap :LeaderfTag -" -" " 最大历史文件保存 2048 个 -" let g:Lf_MruMaxFiles = 2048 -" -" " ui 定制 -" let g:Lf_StlSeparator = { 'left': '', 'right': '', 'font': '' } -" -" " 如何识别项目目录,从当前文件目录向父目录递归知道碰到下面的文件/目录 -" let g:Lf_RootMarkers = ['.project', '.root', '.svn', '.git'] -" let g:Lf_WorkingDirectoryMode = 'Ac' -" let g:Lf_WindowHeight = 0.30 -" let g:Lf_CacheDirectory = expand('~/.vim/cache') -" -" " 显示绝对路径 -" let g:Lf_ShowRelativePath = 0 -" -" " 隐藏帮助 -" let g:Lf_HideHelp = 1 -" -" " 模糊匹配忽略扩展名 -" let g:Lf_WildIgnore = { -" \ 'dir': ['.svn','.git','.hg'], -" \ 'file': ['*.sw?','~$*','*.bak','*.exe','*.o','*.so','*.py[co]'] -" \ } -" -" " MRU 文件忽略扩展名 -" let g:Lf_MruFileExclude = ['*.so', '*.exe', '*.py[co]', '*.sw?', '~$*', '*.bak', '*.tmp', '*.dll'] -" let g:Lf_StlColorscheme = 'powerline' -" -" " 禁用 function/buftag 的预览功能,可以手动用 p 预览 -" let g:Lf_PreviewResult = {'Function':0, 'BufTag':0} -" -" " 使用 ESC 键可以直接退出 leaderf 的 normal 模式 -" let g:Lf_NormalMap = { -" \ "File": [["", ':exec g:Lf_py "fileExplManager.quit()"']], -" \ "Buffer": [["", ':exec g:Lf_py "bufExplManager.quit()"']], -" \ "Mru": [["", ':exec g:Lf_py "mruExplManager.quit()"']], -" \ "Tag": [["", ':exec g:Lf_py "tagExplManager.quit()"']], -" \ "BufTag": [["", ':exec g:Lf_py "bufTagExplManager.quit()"']], -" \ "Function": [["", ':exec g:Lf_py "functionExplManager.quit()"']], -" \ } -" -" else -" " 不支持 python ,使用 CtrlP 代替 -" Plug 'ctrlpvim/ctrlp.vim' -" -" " 显示函数列表的扩展插件 -" Plug 'tacahiroy/ctrlp-funky' -" -" " 忽略默认键位 -" let g:ctrlp_map = '' -" -" " 模糊匹配忽略 -" let g:ctrlp_custom_ignore = { -" \ 'dir': '\v[\/]\.(git|hg|svn)$', -" \ 'file': '\v\.(exe|so|dll|mp3|wav|sdf|suo|mht)$', -" \ 'link': 'some_bad_symbolic_links', -" \ } -" -" " 项目标志 -" let g:ctrlp_root_markers = ['.project', '.root', '.svn', '.git'] -" let g:ctrlp_working_path = 0 -" -" " CTRL+p 打开文件模糊匹配 -" noremap :CtrlP -" -" " CTRL+n 打开最近访问过的文件的匹配 -" noremap :CtrlPMRUFiles -" -" " ALT+p 显示当前文件的函数列表 -" noremap :CtrlPFunky -" -" " ALT+n 匹配 buffer -" noremap :CtrlPBuffer -" endif -"endif -" -" -""---------------------------------------------------------------------- -"" 结束插件安装 -""---------------------------------------------------------------------- -"call plug#end() -" -" -" -""---------------------------------------------------------------------- -"" YouCompleteMe 默认设置:YCM 需要你另外手动编译安装 -""---------------------------------------------------------------------- -" -"" 禁用预览功能:扰乱视听 -"let g:ycm_add_preview_to_completeopt = 0 -" -"" 禁用诊断功能:我们用前面更好用的 ALE 代替 -"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 -"let g:ycm_key_invoke_completion = '' -"set completeopt=menu,menuone,noselect -" -"" noremap -" -"" 两个字符自动触发语义补全 -"let g:ycm_semantic_triggers = { -" \ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'], -" \ 'cs,lua,javascript': ['re!\w{2}'], -" \ } -" -" -""---------------------------------------------------------------------- -"" Ycm 白名单(非名单内文件不启用 YCM),避免打开个 1MB 的 txt 分析半天 -""---------------------------------------------------------------------- -"let g:ycm_filetype_whitelist = { -" \ "c":1, -" \ "cpp":1, -" \ "objc":1, -" \ "objcpp":1, -" \ "python":1, -" \ "java":1, -" \ "javascript":1, -" \ "coffee":1, -" \ "vim":1, -" \ "go":1, -" \ "cs":1, -" \ "lua":1, -" \ "perl":1, -" \ "perl6":1, -" \ "php":1, -" \ "ruby":1, -" \ "rust":1, -" \ "erlang":1, -" \ "asm":1, -" \ "nasm":1, -" \ "masm":1, -" \ "tasm":1, -" \ "asm68k":1, -" \ "asmh8300":1, -" \ "asciidoc":1, -" \ "basic":1, -" \ "vb":1, -" \ "make":1, -" \ "cmake":1, -" \ "html":1, -" \ "css":1, -" \ "less":1, -" \ "json":1, -" \ "cson":1, -" \ "typedscript":1, -" \ "haskell":1, -" \ "lhaskell":1, -" \ "lisp":1, -" \ "scheme":1, -" \ "sdl":1, -" \ "sh":1, -" \ "zsh":1, -" \ "bash":1, -" \ "man":1, -" \ "markdown":1, -" \ "matlab":1, -" \ "maxima":1, -" \ "dosini":1, -" \ "conf":1, -" \ "config":1, -" \ "zimbu":1, -" \ "ps1":1, -" \ } - +Plug 'junegunn/fzf.vim' +nnoremap sf :Files +nnoremap sg :GFiles call plug#end() -- cgit v1.2.3-70-g09d2