clang_complete.vim
をプラグインにコピーしましたが、変数の後に.
と入力すると、次のように表示されます。
パターンが見つかりません
この問題を検索したところ、g:clang_complete_auto:
とg:clang_complete_copen:
を構成する必要があると誰かが言った。これどうやってするの?
サンプルファイルを開いてみてください
vim /tmp/sample.cpp
いくつかのcppコードを入力します
#include <iostream>
int main() {
std:: // <-- this should complete
}
完了はコンパイラで行われるため、実際にはヘッダーを含める必要があることに注意してください。これが機能しても、プロジェクトで「パターンが見つかりません」と表示され続ける場合は、clang ++でプロジェクトをコンパイルできない可能性があります。コードをコンパイルするときに-I
スイッチを使用しますか?それらをプロジェクトディレクトリの.clang_complete
という名前のファイルに追加します。
私の場合、これはダウンロード可能な.vim/plugin
ファイルのみを含むclang_complete.vim
フォルダーで正常に機能します。
$ find .vim
.vim
.vim/plugin
.vim/plugin/clang_complete.vim
...しかし、この問題レポートでは https://github.com/Rip-Rip/clang_complete/issues/39 そのファイル以上のものが必要になる可能性があることが示唆されています(追加のファイルはgitにあります)レポ)。
私は同じ問題を抱えていて、.vimrcに以下を追加することで解決しました
let g:clang_user_options='|| exit 0'
以下は、clang version 3.0 (tags/RELEASE_30/final)
を使用するCygwin、および Clangビルド手順 を使用するWindows、およびトランクからチェックアウトされたバージョン(通常は安定している)で動作するようになりました。読む)昨日(clang version 3.1 (trunk 154056)
)、Visual Studio 2010でビルド:
" clang_complete
let g:clang_complete_auto = 0
let g:clang_complete_copen = 1
" :h clang_complete-auto_user_options
if has('win32unix') " Cygwin
" Using libclang requires a Vim built with +python
let g:clang_use_library = 1
" Mit der Option "gcc" kriege ich Fehler.
" Remove "gcc" option as it causes errors.
let g:clang_auto_user_options='path, .clang_complete'
elseif has('win32') " Windows
let g:clang_auto_user_options='path, .clang_complete'
let g:clang_use_library = 1
let g:clang_library_path='D:\Sourcen\LLVM\build\bin\Debug'
endif
Windowsバージョンでは、散発的なアサーションエラーが発生する可能性がありますが、Cygwinバージョンとまったく同じではありませんが、正常に機能することに注意してください。 MSVCとGCCのヘッダーファイルの使用に関係していると思います。
Cygwinバージョンには最初のerror: release unlocked lock
がありますが、それは関係なく機能します。
コマンドラインでClangを明示的に呼び出して、Vimの外部でコードをコンパイルしようとしましたか?
コードで同じ問題が発生しましたが、MPIライブラリ(mpich2)を使用しているため、Clangがコードをコンパイルできませんでした。同様の問題が原因でClangが失敗している可能性があります。あなたの場合?私の場合、MPI依存関係を削除すると、たとえば次のようにすべてが正常に機能します。
#include <iostream>
#include <string>
int main() {
std::string myString("test string");
std::cout << myString.size() << std::endl; // After typing the dot, I get a list of std::string methods
}
ちなみに、私はまだMPIコードでclang_completeを見逃しています。誰かがこれに対する解決策を見つけましたか?
Vimを設定するには、.vimrc
ファイルを検索または作成する必要があります。
$ vim〜/.vimrc
次に、次のように入力します。
let g:clang_complete_copen = 1