let g:ycm_add_preview_to_completeopt = 0let g:ycm_show_diagnostics_ui = 0let g:ycm_server_log_level = 'info'let g:ycm_min_num_identifier_candidate_chars = 2let g:ycm_collect_identifiers_from_comments_and_strings = 1let g:ycm_complete_in_strings=1let g:ycm_key_invoke_completion = '<c-z>'set completeopt=menu,menuonenoremap <c-z> <NOP>let g:ycm_semantic_triggers ={'c,cpp,python,java,go,erlang,perl': ['re!w{2}'],'cs,lua,javascript': ['re!w{2}'],}這樣可以輸入兩個字符就自動彈出語義補全,不用等到輸入句號 . 或者 -> 才觸發(fā),同時關(guān)閉了預(yù)覽窗口和代碼診斷這些 YCM 花邊功能,保持清靜,對于原型預(yù)覽和診斷我們后面有更好的解決方法,YCM這兩項功能干擾太大 。
上面這幾行配置具體每行的含義,可以見:《YouCompleteMe 中容易忽略的配置》 。另外我在 Windows 下編譯了一個版本,你用 Windows 的話無需下載VS編譯,點擊 [這里] 。我日常開發(fā)使用 YCM 輔助編寫 C/C++, Python 和 Go 代碼,基本能提供 IDE 級別的補全 。
函數(shù)列表
不再建議使用 tagbar, 它會在你保存文件的時候以同步等待的方式運行 ctags (即便你沒有打開 tagbar),導(dǎo)致vim操作變卡,特別是 windows下開了反病毒軟件掃描的話,有時候保存文件卡5-6秒 。2018年了,我們有更好的選擇,比如使用
@Yggdroot
開發(fā)的 LeaderF 來顯示函數(shù)列表:
全異步顯示文件函數(shù)列表,不用的時候不會占用你任何屏幕空間,將 ALT+P 綁定到 `:LeaderfFunction!` 這個命令上,按 ALT+P 就彈出當前文件的函數(shù)列表,然后可以進行模糊匹配搜索,除了上下鍵移動選擇外,各種vim的跳轉(zhuǎn)和搜索命令都可以始用,回車跳轉(zhuǎn)然后關(guān)閉函數(shù)列表,除此之外按 i 進入模糊匹配,按TAB切換回列表選擇 。
Leaderf 的函數(shù)功能屬于你想要它的時候它才會出來,不想要它的時候不會給你搗亂 。
文件切換
文件/buffer模糊匹配快速切換的方式,比你打開一個對話框選擇文件便捷不少,過去我們常用的 CtrlP 可以光榮下崗了,如今有更多速度更快,匹配更精準以及完美支持后臺運行方式的文件模糊匹配工具 。我自己用的是上面提到的 LeaderF,除了提供函數(shù)列表外,還支持文件,MRU,Buffer名稱搜索,完美代替 CtrlP,使用時需要簡單調(diào)教下:
let g:Lf_ShortcutF = '<c-p>'let g:Lf_ShortcutB = '<m-n>'noremap <c-n> :LeaderfMru<cr>noremap <m-p> :LeaderfFunction!<cr>noremap <m-n> :LeaderfBuffer<cr>noremap <m-m> :LeaderfTag<cr>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.30let g:Lf_CacheDirectory = expand('~/.vim/cache')let g:Lf_ShowRelativePath = 0let g:Lf_HideHelp = 1let g:Lf_StlColorscheme = 'powerline'let g:Lf_PreviewResult = {'Function':0, 'BufTag':0}這里定義了 CTRL+P 在當前項目目錄打開文件搜索,CTRL+N 打開 MRU搜索,搜索你最近打開的文件,這兩項是我用的最頻繁的功能 。接著 ALT+P 打開函數(shù)搜索,ALT+N 打開 Buffer 搜索:
LeaderF 是目前匹配效率最高的,高過 CtrlP/Fzf 不少,敲更少的字母就能把文件找出來,同時搜索很迅速,使用 Python 后臺線程進行搜索匹配,還有一個 C模塊可以加速匹配性能,需要手工編譯下 。LeaderF在模糊匹配模式下按 TAB 可以切換到匹配結(jié)果窗口用光標或者 Vim 搜索命令進一步篩選,這是 CtrlP/Fzf 不具備的,更多方便的功能見它的官方文檔 。
文件/MRU 模糊匹配對于熟悉的項目效率是最高的,但對于一個新的項目,通常我們都不知道它有些什么文件,那就談不上根據(jù)文件名匹配什么了,我們需要文件瀏覽功能 。如果你喜歡把 Vim 偽裝成 NotePad++ 之類的,那你該繼續(xù)使用 NERDTree 進行文件瀏覽,但你想按照 Vim 的方式來,推薦閱讀這篇文章:
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 配電房滅火器配置標準
- 低配置電腦怎么流暢的打英雄聯(lián)盟 低配置電腦流暢打英雄聯(lián)盟方法介紹
- 簡述DNS的主要功能 配置dns有什么用
- 十分鐘配置Mac OS主題 ubuntu桌面美化mac
- linux網(wǎng)絡(luò)配置的詳細過程 linux命令行界面切換
- C語言各種類型所占字節(jié)數(shù) c語言中一個數(shù)字占幾個字節(jié)
- diy組裝電腦配置清單 diy組裝機是什么意思
- 室內(nèi)消火栓箱內(nèi)一般應(yīng)配置有哪些
- 小程序ssl證書配置 ssl證書配置教程
- 小米6x參數(shù)配置對比 小米6x中關(guān)村參數(shù)
