[Ubuntu] vim用のYouCompleteMeプラグインを設定します(Ubuntu18.04)

YCMをインストールするには、次の2つのブログ投稿を参照してください。ありがとうございます。ブログ投稿1ブログ投稿2

注:YCMインストールは、完了機能を実行できることを意味するものではありません。簡単なインストールの後、現在のプログラムに表示されているキーワードのみを完了できます。ヘッダーファイルのキーワードを完了させる場合は、追加の構成が必要です。これについては、この記事で説明します。

1.YCMをインストールします。

1vimとgitをインストールします

これは非常に簡単です。入力するだけvimで、システムはインストールを求めるプロンプトを表示し、最初のコマンドを入力しapt install vimます。

gitシステムプロンプトを入力し、それに従ってインストールします。

2依存ソフトウェアをインストールします

次のコマンドを入力します。

sudo apt-get install build-essential cmake python-dev python3-dev

3Vundleをインストールします

vimプラグイン管理ツール。インストールするには[gitclone]コマンドを使用する必要があります。

コマンドを入力し、保存したターゲットファイルの場所に注意してください

cd ~/.vim/bundle/Vundle.vim
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

ただし、GitHubへのアクセスが遅すぎるため、これを直接行うことはお勧めしません。

方法1:GoogleのGithubアクセラレーションプラグインを使用https://github.com/VundleVim/Vundle.vim.git、アドレスを取り出してブラウザのアドレスバーに入力してアクセラレーションアドレスを取得する必要があります。アクセラレーションアドレスは、Googleブラウザのアプリケーションストアを使用して検索できます。

2番目の方法も引き続き推奨されます。GitHubアドレスhttps://github.com/VundleVim/Vundle.vim.gitの場合、[github.com]の後に[.cnpmjs.org]を追加してhttps://github.comにします。 .cnpmjs.org / VundleVim / Vundle.vim.gitをダウンロードしてからダウンロードすると、はるかに高速になります。

ここでの参照:遅いgitクローンの問題を解決する

入力cd ~ホームディレクトリをし、enter vim ~/.vimrcvimの設定を、vimのプラグインをインストールしましょう。.vimrcファイルがなくも大丈夫ですが、自動的に作成されます。vimの基本的な操作がわからない場合は、ご自身で学んでください。

.vimrcファイルの内容として以下を使用します。

set shell=/bin/bash
 
set nocompatible              " be iMproved, required
filetype off                  " required
 
" set the runtime path to include Vundle and initialize
  set rtp+=~/.vim/bundle/Vundle.vim
  call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
" call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
 
" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

 次に、コマンドを入力してvimの下に:PluginInstallプラグインインストールし、次にbdeleteキャッシュ削除を入力してウィンドウを閉じ、終了します。

(Vundleの紹介的な使用法については、オンラインで学ぶことができます。非常に簡単です)

4YouCompleteMeをインストールします

4.1ソースファイルパッケージをダウンロードする

ソースファイルパッケージをダウンロードする

cd ~/.vim/bundle
git clone https://github.com/Valloric/YouCompleteMe.git

いつものように、ダウンロードを高速化するために最後github.com追加する.cnpmjs.orgことを忘れないでください。上記は今後繰り返されません。

4.2関連する依存関係をダウンロードする

次に、YouCompleteMeディレクトリに入り、依存ファイルの最新バージョンを取得します

cd ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive

ここで、直接実行すると非常に遅くなるため 2番目のコマンドを実行しないください

以下の手順に従います。

  1. 実行しますgit submodule update --init。このプロセスはしばらく待つ必要があります。
  2. を入力しvim .gitmodulesます。ここに画像の説明を挿入
  1. github.com]すべての[に[を追加.cnpmjs.org]し、保存して終了します。
  2. [git submodule sync]サブアイテムの更新[url]]と入力します
  3. git submodule update --init --recursive]
    プロンプトが表示されたら、今回は[
    fatal: Needed a single revision Unable to find current revision in submodule path 'third_party/requests_deps/certifi'

さらにいくつかの操作を行う必要があります。[最後にthird_party/requests_deps/certifi]あなたと私のものは異なる場合があります。独自のヒントを使用して、次の手順を完了してください。

入力rm -rf <你显示的结尾>しますrm -rf third_party/requests_deps/certifi]ここに[を入力します。

優先:gitサブモジュールの更新に失敗しました

次に[を入力するとgit submodule update --init --recursive]問題ありません。

[git submodule update --init --recursive]このステップで、次のようにエラーが発生した場合:

fatal: 无法连接到 github.com:
github.com[0: 192.30.253.113]: errno=Operation timed out
fatal: 无法克隆 'git://github.com/mitsuhiko/flask-sphinx-themes.git' 到子模组路径

このブログ投稿を参照し解決できます

在终端输入以下:git config --global url."https://".insteadOf git://

然后再用之前的命令就可以完成下载了。

(これは、ファイアウォールがhttpとhttpsのみを受け入れ、git:の先頭のアドレスを認識しないためです。gitで設定する必要があります。)

4.3オートコンプリートをサポートする言語をコンパイルして構成する

C / C ++を使用している場合は、Cファミリをインストールして実行でき./install.py --clang-completerます。サポートされているすべての言語をインストールしている場合は、入力できます./install.py --all

ここでは前者を使用している方が高速で、インストールする必要はありません。

完了後、vim構成ファイル〜/ .vimrcに行を追加し
ます(vundle#begin()の呼び出しとvundle#end()の呼び出しの間)

call vundle#begin()
. . . 
Plugin 'Valloric/YouCompleteMe'
. . .
call vundle#end()

プラグインを保存し、後でインストールし:PluginInstall、前述のvimの下に入力しますが、詳細には触れません。

Vimを実行した後、それを促しYouCompleteMe unavailable: requires Vim 8.1.2269+、我々がいるようですvimのアップグレードする必要があるバージョンを!

  1. 現在のvimバージョンをすべて削除する
    dpkg -l | grep vim
    sudo apt-get remove vim vim-runtime vim-tiny vim-common 
    

    2番目のコマンドは最初のコマンドの結果に基づいて設定されることに注意してください。ブロガーの最初のコマンドはこれらの4を示しているので、これらを削除します。

  2. 新しいvimをインストールする
sudo add-apt-repository ppa:jonathonf/vim
sudo apt-get update
sudo apt-get install vim

5.強化された機能 

.vimrcファイル最後に以下を追加します。

let g:ycm_show_diagnostics_ui = 0
let g:ycm_server_log_level = 'info'
let g:ycm_min_num_identifier_candidate_chars = 2
let g:ycm_collect_identifiers_from_comments_and_strings = 1
let g:ycm_complete_in_strings=1
let g:ycm_key_invoke_completion = '<c-z>'
 
noremap <c-z> <NOP>
 
let g:ycm_semantic_triggers =  {
			\ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],
			\ 'cs,lua,javascript': ['re!\w{2}'],
			\ }

次にエラーが報告される場合があります。
NoExtraConfDetected: No .ycm_extra_conf.py file detected ………………

ブロガーがここ.ycm_extra_conf.pyエラーを報告しましたが見つかりません。そのため、それを検索してディレクトリ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples見つける必要があります。そのため、もう一度構成して、を追加する必要があります。

let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py'

注:この時点では、予備インストールは成功したと見なされますが、構成は十分ではありません。現時点では、YCMはヘッダーファイルに従ってキーワードを入力できず、キーワードのみを入力できます。このファイルに表示されているもの。したがって、次の構成手順が必要です。

 

ステップ1:llvmとclangをインストールする

行く  にしwww.llvm.org LLVMと打ち鳴らすの対応バージョンをダウンロードしてください。私はUbuntuの14.04の64ビットシステムを使用していますので、私は直接ソースコードをダウンロードし、それを自分自身を再コンパイルすることなく、事前にビルドバイナリバージョンをダウンロードしました。多くのトラブルを保存します。

  ダウンロードが完了したら、ダウンロードした圧縮ファイルを直接解凍して、そのディレクトリに入ります。

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」は力を意味します。

実行:clang --versionバージョン番号が表示されている場合は、llvmとclangが構成されていることを意味します。

ステップ2:構成

〜/の下の.vimrcファイルを開き、そのような構成があるかどうかを確認してください。

let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py'

そうでない場合は、.ycm_extra_conf.pyのパスを正しく変更してください。

次に、このファイルを開きます。

vim ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py

flags [*]配列の後に必要なパスを追加できます。たとえば、stdio.hおよびその他のC言語ヘッダーファイルが/ usr / includeに含まれている場合は、そのようなパスを追加する必要があります。

'-isystem',

‘/usr/include’,

各文の後にある「、」を忘れないでください。

CPPを完了するには、以下を追加する必要があります。

'-isystem',

‘/usr/include/c++/4.7’,

必要なものを簡単に追加できます。

このようにして、対応するライブラリのヘッダファイルの自動補完を実現することができます。

おすすめ

転載: blog.csdn.net/qq_39642978/article/details/109021306