linux下編譯安裝vim7.4並安裝clang_complete插件


linux下編譯安裝vim7.4並安裝clang_complete插件

因為debian里軟件倉庫中下載安裝的vim是不支持python寫的插件的(可以打開vim,在命令模式先輸入:py測試一下),導致clang complete插件無法使用,所以需要自己進行編譯一個支持python插件的版本。

1、准備工作

先下載vim7.4源碼

#直接使用git克隆
git clone git clone https://github.com/vim/vim.git
#下載源碼包
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
tar -xjvf vim-7.4.tar.bz2

因為編譯起還需要python-dev包的支持,所以先安裝一下。

sudo apt install python-dev python3-dev

2、生成Makefile並編譯

執行configure程序,生成Makefile文件

./configure --prefix=/home/xxx/programs/vim74 --enable-pythoninterp --enable-python3interp --enable-gui=no --enable-cscope --enable-multibyte --enable-fontset

生成Makefile成功后,執行make命令進行編譯。編譯完成之后,執行make install進行安裝。
安裝完成后可以進入/home/xxx/programs/vim74查看(安裝目錄是前面--prefix參數指定的)。

如果你之前已經使用apt安裝了vim,可以將/usr/bin/vim這個軟鏈接刪除,然后再創建一個新的過去。

# 查看一下vim這個命令
$ ls -l /usr/bin/vim
lrwxrwxrwx 1 root root 21 8月  12 22:14 /usr/bin/vim -> /etc/alternatives/vim
# 修改這個軟鏈接
sudo rm -f /usr/bin/vim
sudo ln -s home/xxx/programs/vim74/bin/vim /usr/bin/vim
# 如果你習慣用vi,也可以一並修改了
sudo rm -f /usr/bin/vi
sudo ln -s home/xxx/programs/vim74/bin/vim /usr/bin/vi

可以使用下面命令,簡單的全修改掉

ls /home/xxx/programs/vim74/bin|xargs -I{} sudo rm /usr/bin/{}
ls /home/xxx/programs/vim74/bin|xargs -I{} sudo ln -s /home/o/program/vim74/bin/{}  /usr/bin/{}

3、安裝clang complete插件

先去下載插件源碼

git clone https://github.com/Rip-Rip/clang_complete.git

下載完成之后,進入源碼目錄,執行下面命令進行安裝

make 
make install

安裝完成后,可以測試一下。
可以輸入::或者在類對象后輸入.等,測試一下代碼提示功能。

測試一

測試二

4、出現問題及解決辦法

打開vim的時候出現如下提示
Loading libclang failed, completion won't be available. Consider setting g:clang_library_path.
這里需要先安裝一下libclang

sudo apt install libclang-dev

安裝完成之后,應該在/usr/lib/llvm-3.8/lib(因為我安裝的是3.8版本的,也許你的是llvm-3.6/llvm-3.7等)目錄下有libclang.so這個文件。
需要把這個路徑,加入到clang_complete的配置文件中去。

vi ~/.vim/plugin/clang_complete.vim
#在ClangCompleteInit函數之前加入下面兩句
let g:clang_use_library = 1
let g:clang_library_path = '/usr/lib/llvm-3.8/lib/libclang.so'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM