欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vim自動補全插件YouCompleteMe(YCM)安裝過程解析

 更新時間:2019年10月21日 09:31:45   作者:思念殤千尋  
這篇文章主要介紹了vim自動補全插件YouCompleteMe(YCM)安裝過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

Vim是全平臺上一個高度可拓展的編輯器。它本身只是一個簡陋的編輯器,但是因為有各種插件而變得強大。使用Vim編寫代碼就不免遇到代碼補全的問題。常用的代碼補全插件有兩個:日本人shougo寫的neocomplete和前Google工程師Valloric寫的YouCompleteMe。用的人比較多的還是YouCompleteMe。YouCompleteMe被稱為Vim最難配置的插件,當(dāng)初配置好YouCompleteMe也是費了九牛二虎之力,印象中是花了整整一個晚上?;貓笠彩秋@然的,支持定義跳轉(zhuǎn),變量跳轉(zhuǎn),超快的自動補全。下面進入正題。

首先是自動補全的機制,在我的理解里自動補全的實現(xiàn)是通過一個server來實現(xiàn)的。在YouCompleteMe里,server就是python。所以當(dāng)你打開Vim,plug YCM,你可以在進程列表里發(fā)現(xiàn)一個python進程,這個進程其實就是扮演了server的角色。當(dāng)你編輯代碼時,server在文件目錄里尋找關(guān)聯(lián)的文件,對全文進行處理。然后用代碼補全的方式呈現(xiàn)出來。

在YCM的github主頁有各個系統(tǒng)的對應(yīng)安裝方式。最大的不同是這個軟件需要你自己去build,沒錯..之前從來沒有做過這種操作所以那天晚上踩了無數(shù)坑。直到按照官網(wǎng)上的指導(dǎo)在命令行中運行以下兩個步驟。

cd ~/.vim/bundle/YouCompleteMe  #如果是vim-plug,應(yīng)該是在~/.vim/plugins/YouCompleteMe
./install.py

ok,一排排代碼在terminal中滾動,build完成。打開vim卻出現(xiàn)如下報錯:

The ycmd server SHUT DOWN (restart with ':YcmRestartServer')

百思不得其解,多方查找后得知原因。YouCompleteMe對python有強依賴型,就像neocomplete對Lua有強依賴性。所以用來build的python版本必須小心翼翼。我在這里使用的是condapython,也就是虛擬環(huán)境中的python,不管build多少次都依然報錯。

最終我用了以下的方法解決:首先進入terminal,因為是conda環(huán)境所以前面有(base)表示基礎(chǔ)虛擬環(huán)境,此時運行which python,可以看到當(dāng)前python是conda環(huán)境安裝的。

(base) appledeMacBook-Pro-4:~ apple$ which python
/Users/apple/miniconda3/bin/python

ok,conda deactivate失能conda再運行是什么結(jié)果呢。

(base) appledeMacBook-Pro-4:~ apple$ conda deactivate
appledeMacBook-Pro-4:~ apple$ which python
/usr/bin/python
appledeMacBook-Pro-4:~ apple$ which python2
/usr/bin/python2
appledeMacBook-Pro-4:~ apple$ which python3
/usr/bin/python3
appledeMacBook-Pro-4:~ apple$ python3 --version
Python 3.7.3

我們可以看到,當(dāng)前使用的python已經(jīng)是系統(tǒng)自帶的python了,不管是brewpython還是原生的python都可以使用。

那么我們按照官網(wǎng)說明cd到插件文件夾。不要運行 ./install.py 直接運行

python3 install.py

等待build完成,再打開vim、沒有報錯。大功告成!

需要注意的是YouCompleteMe對Python依賴嚴重。一旦Vim版本或者python版本改變,照上述方法重新build一遍即可。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Python處理PDF的方法

    淺談Python處理PDF的方法

    這篇文章主要介紹了Python處理PDF的兩種方法代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 基于Python編寫一個爆炸信息窗口腳本

    基于Python編寫一個爆炸信息窗口腳本

    這篇文章主要為大家詳細介紹了如何利用Python語言編寫一個爆炸信息窗口腳本,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-11-11
  • Python如何利用opencv實現(xiàn)手勢識別

    Python如何利用opencv實現(xiàn)手勢識別

    這篇文章主要介紹了Python如何利用opencv實現(xiàn)手勢識別,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙可以參考一下
    2022-05-05
  • python client使用http post 到server端的代碼

    python client使用http post 到server端的代碼

    python client使用 http post 到server端的代碼,供大家學(xué)習(xí)參考
    2013-02-02
  • win10安裝tesserocr配置 Python使用tesserocr識別字母數(shù)字驗證碼

    win10安裝tesserocr配置 Python使用tesserocr識別字母數(shù)字驗證碼

    這篇文章主要介紹了win10安裝tesserocr配置 Python使用tesserocr識別字母數(shù)字驗證碼,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Python調(diào)用edge-tts實現(xiàn)在線文字轉(zhuǎn)語音效果

    Python調(diào)用edge-tts實現(xiàn)在線文字轉(zhuǎn)語音效果

    edge-tts是一個 Python 模塊,允許通過Python代碼或命令的方式使用 Microsoft Edge 的在線文本轉(zhuǎn)語音服務(wù),這篇文章主要介紹了Python調(diào)用edge-tts實現(xiàn)在線文字轉(zhuǎn)語音效果,需要的朋友可以參考下
    2024-03-03
  • 異步任務(wù)隊列Celery在Django中的使用方法

    異步任務(wù)隊列Celery在Django中的使用方法

    對于網(wǎng)站來說,給用戶一個較好的體驗是很重要的事情,其中最重要的指標就是網(wǎng)站的瀏覽速度。因此服務(wù)端要從各個方面對網(wǎng)站性能進行優(yōu)化,這篇文章主要介紹了異步任務(wù)隊列Celery在Django中的使用方法,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python批量下載網(wǎng)站馬拉松照片的完整步驟

    python批量下載網(wǎng)站馬拉松照片的完整步驟

    這篇文章主要給大家介紹了關(guān)于利用python批量下載網(wǎng)站馬拉松照片的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • python實現(xiàn)掃描ip地址的小程序

    python實現(xiàn)掃描ip地址的小程序

    本文通過實例代碼給大家介紹了python實現(xiàn)掃描ip地址的小程序,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-04-04
  • numpy中的高維數(shù)組轉(zhuǎn)置實例

    numpy中的高維數(shù)組轉(zhuǎn)置實例

    下面小編就為大家分享一篇numpy中的高維數(shù)組轉(zhuǎn)置實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論