国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【失敗】windows10中利用MingGW編譯64 bit GVIM with python27/

cikenerd / 2460人閱讀

摘要:終極目標問題描述首先聲明,這是一次失敗的編譯經歷,僅供參考,歡迎討論。近期發現是一個很棒的編輯器,簡潔高效。所以,毅然決然,自己從源碼編譯一個。首先運行上面目錄樹中的。我猜想這可能和我的失敗有關。設置為,編譯結果是,則代表。

終極目標

VIM = Python multi-version IDE

問題描述

首先聲明,這是一次失敗的編譯經歷,僅供參考,歡迎討論。

近期發現VIM是一個很棒的編輯器,簡潔高效。雖然說上手速度較慢,但是它的種種特性依舊吸引了我。我打算試一試。接下來不幸發生了,我的電腦中已經安裝的環境有:

Python27 64 bit (通過Anaconda2安裝)

Python35 64 bit (通過官網可執行文件安裝)

然而,我從VIM官網下載的已經編譯好的最新版GVIM 1.7 卻固定支持了python27和python34 (關于固定支持版本的問題,請參考Github上的討論:Vim is unable to automatically detect my Python version )。最大的問題是,官網上的GVIM是32 bit的,根本無法兼容64 bit的python。如果你在GVIM中敲入以下命令行:

:python print 1

你應該會看到這樣的錯誤提示:

E887: Sorry, this command is disabled, the Python"s site module could not be loaded.

悲劇總是來的這么突然。還有什么辦法呢,一來VIM是32 bit而我的python都是64 bit;二來VIM支持的python版本還不一致。所以,毅然決然,自己從源碼編譯一個GVIM。

文件準備

需要用到的文件如下:

MingGW : 官網選擇適合自己的版本下載。由于我的電腦上已經安裝了Git,所以我選的是mingw-13.5-without-git.exe

VIM 源碼 : 既然已經有了Git,我們可以去VIM Github下載。參考代碼 git clone https://github.com/vim/vim.git

接下來,將源碼壓縮包解壓,我習慣去掉壓縮包名稱中的代碼倉庫分支名稱后綴(例如-master),并且運行MingGW安裝包。如果你下載的也是without-git的輕便版本,那么那個可執行程序其實一個壓縮包,運行之后就是自動解壓。

完成了上面的步驟之后,你應該會得到一下的兩個文件夾,他們的大致目錄如下:

- MingGw
 | - open_distro_window.bat
 | - ...
- vim
 | - src
   | - Make_ming.mak
   | - ...
 | - ...

請保證所有的目錄名稱中不包含中文字符以及空格!

開始編譯

接下來就是開始編譯了。首先運行上面目錄樹中的open_distro_window.bat。這其實就是MingGW的shell。然后切換目錄至Make_ming.mak所在的文件夾,執行以下命令:

make.exe -f Make_ming.mak IME=yes GUI=yes OLE=yes MBYTE=yes ARCH=x86-64 FEATURES=HUGE PYTHON="[Python2安裝目錄]" PYTHON_VER=[Python2的版本,例如27] PYTHON3="[Python3安裝目錄]" PYTHON3_VER=[Python3的版本,例如35] USERNAME=[任意,可以寫你的名字] USERDOMAIN=[郵箱地址] gvim.exe

上面代碼中的各個參數是會影響到你的編譯結果的,具體的請看之后的分析。我猜想這可能和我的失敗有關。

接下來,MingGW shell就會有一大堆的輸出文字。不出意外的話,編譯成功之后,你會在src目錄下找到一個gvim.exe文件,這就是你編譯出來的VIM了,你的專屬VIM。走到這一步還是很有成就感的。

結果說明

你可以運行你的VIM,基本上和網上編譯好的release版本差不多。但是,有以下幾點原因,讓我認為這次的編譯是失敗的:

可以成功運行:python3 print("Whatever you want"),但是依舊無法運行:python print("OMG")。顯示的error和之前的是一樣的。

VIM編譯器的一些基本操作還是和release版本不太一樣,例如當命令行輸出結果很多的時候不能夠利用j,k進行上下翻頁;或者在insert模式下退格操作的時候,被刪除的文字沒有立即消失,而是等到進入normal模式的時候才消失。

失敗原因猜想

首先說說多版本的問題。從測試來看,貌似已經支持了python3,但是很奇怪的是python2卻無法運行了。以前也聽人說過VIM不能夠同時支持多版本的python,我還不相信,難道真的是這樣。VIM的確不能夠同時支持Python34和35,但是理論上應該是可以支持一個2X和一個3X的。我的理由是,如果VIM不支持多版本的python,那么如果我在VIM中運行命令行:version,輸出信息中會有+ python/dyn + python3/dyn呢?這不就是說明了支持2X和3X的版本么?

然后討論關于之前說的命令行參數問題。請看:

MBYTE=yes 如果加上這個參數設置,可以實現VIM多行命令信息輸出時候的j,k上下翻頁,不加的話,多行命令輸出的時候,上部分的超出屏幕的信息就看不到了。

ARCH=x86-64 如果加上這個參數設置,最后編譯出來的VIM就是64 bit。我嘗試了如果不加,編譯的時候會報錯,內容大概是CPU選擇錯誤。

GUI=yes 設置為yes,編譯結果是GUI VIM,no則代表VIM。這個好理解。

還有其他的參數:IME, OLE, FEATURES, DYNAMIC_PYTHON, DYNAMIC_PYTHON3, CSCOPE, DEBUG,這些參數代表了什么意思呢?是不是如果我能夠找到官方release版本在編譯時候的參數配置,我就能夠編譯出一個和release版本一模一樣的VIM呢?

最后總結一下,這也許就是開源軟件的一個特點吧,我不想用“弊端”這個詞語。只是,有的時候,可能不能夠追求太完美的配置了。暫時先放下,以后有機會了繼續研究。


VIM的確不是一個容易上手的編輯器,所以我打算長時間的調教我的VIM。后來,為了打造自己的Python IDE,因為暫時無法使用Youcompleteme,我使用了兩個替代插件:

omni completion : VIM自帶的補全插件

pydiction : 一個邊帶比較久遠的python補全插件

怎么說呢,這兩個插件的原理都是一樣,都是通過搜索匹配模式進行搜索,omni主要是搜索已打開文件中的匹配模式,而pydiction,顧名思義,是在一個目標文件(python diction)中搜索匹配模式。所以很多人噴,確實也算不上智能匹配。和YCM相比還是差遠了。

5/14/2016

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37880.html

相關文章

  • 失敗windows10利用MingGW編譯64 bit GVIM with python27/

    摘要:終極目標問題描述首先聲明,這是一次失敗的編譯經歷,僅供參考,歡迎討論。近期發現是一個很棒的編輯器,簡潔高效。所以,毅然決然,自己從源碼編譯一個。首先運行上面目錄樹中的。我猜想這可能和我的失敗有關。設置為,編譯結果是,則代表。 終極目標 VIM = Python multi-version IDE 問題描述 首先聲明,這是一次失敗的編譯經歷,僅供參考,歡迎討論。 近期發現VIM是一個很棒...

    JeOam 評論0 收藏0
  • Windows 下使用 MinGW 編譯安裝 (G)vim 添加 Lua 等編程語言支持

    摘要:一些插件需要其它編程語言支持,比如自動補全插件需要官方下載的版本是不帶這種第三方語言支持的,得自己手動編譯一個支持的版本。但是下編譯源代碼需要選擇一個工具集,比較流行的有。進入命令模式,輸出來驗證下是否已開啟支持,如果顯示就說明了 vim 一些插件需要其它編程語言支持,比如 neocomplete 自動補全插件需要 lua官方下載的 vim 版本是不帶這種第三方語言支持的,得自己手動編...

    wing324 評論0 收藏0
  • 源碼安裝Vim

    摘要:獲取源碼切換到你想編譯版本的標簽或編譯啟動命令提示啟動命令行工具。切換到源代碼路徑。通過運行進行安裝,并注冊右鍵菜單。首先安裝編譯的依賴項切換到源代碼目錄,執行以下命令 獲取源碼 $ hg clone https://code.google.com/p/vim/ vim $ hg update v7-4-258 //切換到你想編譯版本的標簽 或 ...

    longshengwang 評論0 收藏0
  • 可能是 Windows 下最漂亮的 Gvim 配置了

    摘要:原文一直以來被稱為編輯器之神的在下很難發揮其強大的功能,本文從實用的角度闡述如何調校出一個比較好用的不過仍然要說明下,在眾多構建版本中平臺的是我認為最好用的一個版本。 原文:https://keelii.github.io/2016/06/13/awsome-window-vimrc/ 一直以來被稱為編輯器之神的 vim 在 Windows 下很難發揮其強大的功能,本文從實用的角度闡述...

    CarterLi 評論0 收藏0
  • Win x64 +VS2013 + python2.7環境下caffe的配置學習過程

    摘要:以上是我的配置參數。配置的過程中可能出現各種意想不到的錯誤,每一個人出現的情況可能都不一樣。參考基于環境下的配置學習微軟官方之接口配置及圖片生成實例下配置無詳細教材使用工具時報解決辦法上配置操作步驟 前言 ?最近項目需要用到caffe這個框架,所以試著配置。由于絕大多數的教程都是基于Linux環境的,所以對于Window的用戶來說教程比較少。幾經波折以后,終于配置成功,我把配置的重點步...

    yuanxin 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<