vim-marching


Ⅰ. 插件描述

Async clang code completion.

Ⅱ. 基本信息

创建日期:  2013-10-10
使用用户:  94
Github星:  128
插件作者:  osyo-manga

Ⅲ. 安装方法

使用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

Screencapture

test

marching1

marching2

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 との連携

License

NYSL

NYSL English

添加新评论