Ubuntu 18.04 vim-plugベースYCMインストール

4326 ワード

一、引用
最近、VNF Internal State Managementに関する枠組みを研究する過程で、コンピューター指向の修士と博士は、少なくとも3つのプログラミング言語に精通しなければならないという心得をまとめた.その中で、c/c++は精通しなければならないので、JavaとPythonの中で2つを選ぶことができて、残りの1つはバックグラウンド開発のGolangあるいはRustに偏っていることをお勧めします.私の研究方向はAIやContainerと縁がついているので、私の選択はc/c+&Python&Golangです.これまでの仕事は偏模型と理論だったので、pythonでシミュレーションを書くのがよく使われていましたが、c/c++の使用が少なく、時間が経つとc/c++に疎くなり、次はc/c++を多く使って、なくしたものをゆっくり拾うつもりです.
仕事が上手になるにはまず器を利し、一つの言語を熟練するには良いIDEが必要だ.本研究分野の差が少ないオープンソースプラットフォームはすべてLinuxに基づいており、その後、その中のいくつかのプラットフォームを二次開発することを考慮しているため、linuxプラットフォームの下で良いIDEを探すのが第一歩である.以前はサーバー版のLinuxを使っていましたが、サーバー版のLinuxではvimが最高のIDEです.vimをうまく使うには、異なるvim pluginのサポートが必要になるに違いありません.ネットで見て、vim-plugを選択してvimのプラグインを管理します.本文はvim-plugのインストールと使用を記録し、プラグインにインストールしにくいYCMのインストールと使用を記録します.
二、推薦
vim-plugに基づいてYCMをインストールするのは難しくありませんが、中には穴があります.前に公式のドキュメントをよく読むことができれば、ほとんどの穴を避けることができます.そのため、公式のドキュメントを読むことをお勧めします.公式のドキュメントにない穴を見つけたら、漏れのない手順を見てみましょう.vim-plug YCM
三、vim-plug
インストール
vim-plugのインストールは非常に簡単で、1行のコマンドで完了します.あるいはplug.vimのコンテンツを~/.vim/autoload/plug.vimにコピーしてもよい.
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

使用
vim-plugを使用してvimプラグインを管理するのは簡単です.具体的なコマンドはvim-plug commandを参照してください.YCMプラグインをインストールする必要があります.~/.vimrcファイルに次のように追加するだけです.
call plug#begin('~/.vim/plugged')
Plug 'Valloric/YouCompleteMe', { 'do': './install.py --clang-completer',  'for': ['c', 'cpp'] }
call plug#end()

このうち'do'以降のコマンドとは、YCMプラグインがvim-plugを使用してインストールされた後に実行する追加のコマンド(このコマンドは後述)を指し、これもYCMプラグインのインストールが面倒な原因である.‘for’の後に続く内容は、YCMプラグインがcファイルとcppファイルを開いたときにのみアクティブになることを意味します.次にvimコマンドラインでPlugInstallコマンドを実行してYCMをインストールできますか?Definitely No!さもないと私もこのブログを書くことはありません.
四、YCMカード
YCMプラグインはvimをそれらのIDEのように自動的にコードを補完したり、ジャンプしたりすることができ、事前にコンパイルしたりすることで、コンパイルの結果から補完する必要がある内容を推測することができます.インストールスクリプトを実行する前に、次のような依存問題を解決する必要があります.
  • vimバージョンが7.4.1578以上であることを確認します.vim --versionで確認します.ubuntu 18のデフォルトはvim 8.1です.
  • vimがpythonおよびpython 3をサポートしていることを確認します.vim --versionによっても表示され、pythonとpython 3の前にプラス記号があり、説明がサポートされています.ubuntu 18はpython 3をデフォルトでインストールし、vimはpython 3をサポートしていますが、pythonはインストールされておらず、vimはpython 2をサポートしていないため、python 2をインストールし、ソースコードからvimを再コンパイルする必要があります.python 2をインストールする場合は、ソースコードからインストールし、追加構成する必要があります.
  • mkdir python2-source && cd python2-source
    wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
    tar -xvf Python-2.7.15.tgz
    cd Python-2.7.15/
    sudo apt install zlib1g-dev  # YCM  zlib   
    ./configure --with-zlib --enable-shared --enable-unicode=ucs2
    make -j
    sudo make install
    

    python 2のインストールが完了したら、pythonのurllib 3も必要です.
    pip install urllib3 --user
    

    次にインストールvimを再コンパイルし、pythonとpython 3をサポートします.
    sudo apt purge --auto-remove vim  #     vim
    sudo apt install python-dev python3-dev
    git clone https://github.com/vim/vim.git
    cd vim
    ./configure --with-features=huge \ 
    --enable-python3interp \
    --enable-pythoninterp \
    --enable-perlinterp \
    --enable-multibyte \
    --enable-cscope \
    --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \
    --with-python-config-dir=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/ \
    --prefix=/usr/local/vim  # vim    
    make -j
    sudo make install
    export PATH="$PATH:/usr/local/vim/bin  #   vim        
    
  • 余剰依存ライブラリ
  • をインストールする.
    sudo apt install build-essential cmake
    sudo apt install clang libclang-dev  # clang         
    
  • これで依存はすべて解決され、vimコマンドでPlugInstallを実行してYCMプラグインをインストールすることができ、YCMプラグインは約500 MBあり、インストール中はgit cloneを停止しない必要があるため、インストールが遅い可能性があります.
  • 最後に、YCMが正常に使用できるように構成する必要があります.公式には99%のニーズを解決できるというデフォルトのプロファイルが提供されています..vimrcファイルに1行を加えて設定すればよい.YCMの配置は非常に豊富で、具体的にはYCMを参考にすることができます.
  • let g:ycm_global_ycm_extra_conf='~/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py'
    

    tips PlugInstallを実行してYCMをインストール中に他のエラーがあった場合は、vimコンソールを終了してYCMのインストールログを表示し、問題が解決したら、~/.vim/plugged/YouCompleteMeに入ってinstall.pyスクリプトを見つけて./install.py --clang-completerを再実行すればよい.