Ⅰ. 插件描述
Async clang code completion.Ⅱ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'osyo-manga/vim-marching'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'osyo-manga/vim-marching'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'osyo-manga/vim-marching'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/osyo-manga/vim-marching
Ⅳ. 文档说明
# marching.vim
Clang を使用して非同期で C++ のコード補完を行うためのプラグインです。
Document in English is here.
Requirement
Executable
Vim plugin
Screencapture



Setting
" clang コマンドの設定
let g:marching_clang_command = "C:/clang.exe"
" オプションを追加する
" filetype=cpp に対して設定する場合
let g:marching#clang_command#options = {
\ "cpp" : "-std=gnu++1y"
\}
" インクルードディレクトリのパスを設定
let g:marching_include_paths = [
\ "C:/MinGW/lib/gcc/mingw32/4.6.2/include/c++"
\ "C:/cpp/boost"
\]
" neocomplete.vim と併用して使用する場合
let g:marching_enable_neocomplete = 1
if !exists('g:neocomplete#force_omni_input_patterns')
let g:neocomplete#force_omni_input_patterns = {}
endif
let g:neocomplete#force_omni_input_patterns.cpp =
\ '[^.[:digit:] *\t]\%(\.\|->\)\w*\|\h\w*::\w*'
" 処理のタイミングを制御する
" 短いほうがより早く補完ウィンドウが表示される
" ただし、marching.vim 以外の処理にも影響するので注意する
set updatetime=200
" オムニ補完時に補完ワードを挿入したくない場合
imap <buffer> <C-x><C-o> <Plug>(marching_start_omni_complete)
" キャッシュを削除してからオムに補完を行う
imap <buffer> <C-x><C-x><C-o> <Plug>(marching_force_start_omni_complete)
" _数値 から始まる候補を無視する
let g:marching#default_config = {
\ "ignore_pat" : '^_\D'
\}
" 非同期ではなくて、同期処理でコード補完を行う場合
" この設定の場合は vimproc.vim に依存しない
" let g:marching_backend = "sync_clang_command"Future
C++ 以外の対応
- Objective-C
- スニペットの対応
- neocomplete.vim との連携