vim編譯安裝
A. Ubuntu14.04麒麟怎麼安裝vim
所有的安裝步驟在Vundle,以及YouCompleteMe兩個地址上面已經說的很透徹了,但是因為第一次安裝,您可能沒有太多經驗,看到這么多需要安裝的工具感到頭大。下面我們一步一步來操作,我相信按照下面的操作,您一定能夠順利的完成代碼補全功能。
首先,您要保證您的vim版本號要高於7.3.584,您可以通過在終端輸入:
vim --version
來查看您的vim的版本號。如果沒有vim,您需要自己安裝。
第二步,安裝cmake
sudo apt-get install build-essential cmake
第三步,安裝 llvm 和 clang
到 www.llvm.org 下載相應版本的llvm和clang,因為我用的是ubuntu 14.04 64bit的系統所以我直接下載的pre-build binary版本的而不需要下載源碼再自己重新編譯了。省去了不少麻煩。
下載完成後,直接將下載後的壓縮文件解壓,並進入其目錄
tar zxvf clang+llvm-3.7.0-amd64-Ubuntu-14.04..tar.gz
cd clang+llvm-3.7.0-amd64-Ubuntu-14.04.
其中 *.tar.gz就是您所下載的壓縮文件。
運行命令:
sudo cp -R * /usr/
將目錄里的所有文件拷貝到相應的系統目錄下,然後再配置一下軟鏈接:
sudo ln -sf /usr/bin/clang++ /etc/alternatives/c++
其中 「-sf」中 「s」代表了軟鏈接,「f」即為force的意思。
運行:clang --version 如果您看到了它的版本號,就說明 llvm 和 clang配置好了。
第四步:安裝Vundle,安裝過程請參考 https://github.com/VundleVim/Vundle.vim#about ;P.S. :如果您是第一次安裝vim,可能需要自己創建vim的配置文件,它是在 「~/ 」 目錄下的的一個隱藏文件 .vim 前面的「小點」就說明這是一個隱藏的目錄, 用 ls -a才能查看,如果沒有,請創建該目錄。即:mkdir ~/.vim
配置好Vundle , 請打開主目錄下的.vimrc文件,這個文件是按照之前安裝vundle時的步驟配置好的,請在call vundle#begin() 和 call vundle#end() 在之間添加 Plugin 『Valloric/YouCompleteMe『, 另外,把begin() 和 end()之間除了Plugin 『VundleVim/Vundle.vim『 和 Plugin 『Valloric/YouCompleteMe『之外的其他PlugIn 都注釋掉把,感覺沒什麼卵用。
第五步:利用Vundle安裝插件
非常簡單,在終端中打開vim, 輸入" :PluginInstall ", 等待Vundle安裝完畢。這可能需要花費一段時間。當vim的底欄顯示:Done!(注意不是Done with error !!!) 就表示安裝成功。
第六步:編譯YouCompleteMe, 為了不保證出錯,我用的是完全安裝的方法。
cd ~
mkdir ycm_build
cd ycm_build
因為我要支持C/CPP的語義支持,我選擇:
cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
這里,我選擇使用系統的libclang,因為我們也從官網下載了LLVM+Clang(該目錄下有 bin, lib, include 等文件夾),我們也可以執行:cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp其中「~/ycm_temp/llvm_root_dir」就是我們解壓過的文件的根目錄
第七步:生成
make ycm_support_libs
到此為止,基本的配置工作就完成了,但是還有一點瑕疵:#include <iostream>, #include <stdio> vector, 什麼的都不能補全,這是因為這些頭文件的路徑沒有被找到,下面的工作就是要讓YouCompleteMe找到這些頭文件,而且,以後有什麼庫文件,比如OpenCV,OPenGL什麼的,都可以按照這個方法添加。
打開 ~/下的.vimrc文件,確保查看是否有這樣一條配置:
let g:ycm_global_ycm_extra_conf = 『~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py『
如果沒有,請修改.ycm_extra_conf.py的路徑是正確的。
打開~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py
vim ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py
您可以在flags[ * ]數組的後面添加你想要的路徑,例如: stdio.h等C語言的頭文件包含在/usr/include中,那麼您需要添加這樣一條
『-isystem『,
『/usr/include』,
注意,不要忘記後面的「,」。
B. linux如何安裝vim編輯器
方法/步驟 1、【下載vim源碼】:從vim的官方網站下載vim的安裝源碼包。 linux系統怎麼安裝vim編輯器。
2、【解壓安裝包】:下載的安裝包是經過壓縮的tar格式,在linux可以使用自帶的工具tar進行解壓,在安裝包所在目錄執行命令:tar -zxvf vim-7.4.tar linux系統怎麼安裝vim編輯器。 3、【配置安裝變數】:打開解壓後的目錄-執行命令:cd vim74;配置安裝環境-執行命令:./configure --prefix=/usr/local/servers/vim ,「/usr/local/servers/vim」是安裝路徑。 linux系統怎麼安裝vim編輯器。
4、【編譯源碼】:在解壓目錄執行編譯命令:make linux系統怎麼安裝vim編輯器。 5、【安裝vim】:切換到root用戶-執行命令:sudo su root;安裝-執行命令:make install 創建軟鏈:執行命令:ln -s /usr/local/servers/erlang/bin/vim /usr/local/bin/vim linux系統怎麼安裝vim編輯器。
6、【啟動vim】:執行命令vim,如下圖安裝成功。 linux系統怎麼安裝vim編輯器。
C. 關於Ubuntu虛機內git submole的問題
一、Ubuntu系統默認內置:
實際上ubuntu默認沒有安裝老版本的vi,只裝了vim。vi是vim.tiny(vim的最小化版本,不含 GUI,並且僅含有一小部分功能,並且默認與vi兼容。此軟體包不依賴於vim-runtime軟體包)的一個別名,可用命令ls -l /usr/bin/vi來進行查看vi是指向/etc/alternatives/vi,而/etc/alternatives/vi 又指向/usr/bin/vim.tiny,從命令update-alternatives --display vi可以看出默認情況下,vi當前指向的是vim.tiny。
二、VIM版本及其對比:
不同的編譯選項編譯出來的vim而已。比如vim是終端下的vim-basic跟vim-tiny,而vim-gnome是用了GNOME2 GUI的vim,在gnome桌面系統上推薦安裝vim-gnome。
1、vim-tiny是tiny 版本的vim,就是功能比較少(前面有個+的表示有著功能),但是體積小,速度快。
1、vim-tiny是tiny 版本的vim,就是功能比較少(前面有個+的表示有著功能),但是體積小,速度快。
2、vim-basic:完整版的vim,不過同樣沒有圖形界面,沒有菜單
3、更多可以查看幫助文檔:http://vimdoc.sourceforge.net/htmldoc/various.html#+feature-list
提示:
ctags的功能很強大,更詳細的配置請參考其文檔。
建議在~/.vimrc中添加如下配置以使Vim在父目錄中尋找tags文件[10]:
set tags=tags;/
設置好後,可在Vim中使用如下功能:Ctrl-]轉至最佳匹配的相應Tag,Ctrl-T返回上一個匹配。如果有多個匹配,g Ctrl-]可顯示所有備選的tags。如有需要,可互換Ctrl-]和g Ctrl-][11]:
"在普通和可視模式中,將<c-]>與g<c-]>互換 nnoremap <c-]> g<c-]> vnoremap <c-]> g<c-]> nnoremap g<c-]> <c-]> vnoremap g<c-]> <c-]>
使用:make可調用make命令編譯程序,配合Vim內置的QuickFix功能,可以像IDE一樣打開一個窗口展示編譯錯誤和警告,通過它還可以方便地跳轉到各編譯錯誤的產生位置。
常用的命令有:cw[indow](如有錯誤打開quickfix窗口)、:cn(跳到下一個錯誤)、:cp(跳到前一個錯誤)等,具體可:help quickfix。
如果想在有錯時自動打開quickfix窗口[12]:
" 編譯後,如有錯誤則打開quickfix窗口。(游標仍停留在源碼窗口) " " 注意:需要開啟netsting autocmd autocmd QuickFixCmdPost [^l]* nested cwindow autocmd QuickFixCmdPost l* nested lwindow
默認情況下,:mak[e]會跳轉到第一個錯誤,如果不想啟用這個功能,請使用:make!。
代碼較長時可啟用代碼折疊功能,如按語法高亮元素折疊:
set foldmethod=syntax "默認情況下不折疊 set foldlevel=99
隨後即可使用z系列命令管理代碼折疊。如za會翻轉當前位置的折疊狀態,zA會遞歸翻轉當前層所有代碼的折疊狀態等。當然也可以把功能鍵映射到za:
map <F3> za
K鍵可用於查看當前函數的文檔。
近來仍被積極維護的代碼託管在 GitHub 上的插件[13]: