Ⅰ. 插件描述
Additional Vim syntax highlighting for C++ (including C++11/14/17)Ⅱ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'octol/vim-cpp-enhanced-highlight'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'octol/vim-cpp-enhanced-highlight'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'octol/vim-cpp-enhanced-highlight'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/octol/vim-cpp-enhanced-highlight
Ⅳ. 文档说明
vim.cpp - additional vim c++ syntax highlighting
This file contains additional syntax highlighting that I use for C++11/14/17
development in Vim. Compared to the standard syntax highlighting for C++ it
adds highlighting of (user defined) functions and the containers and types in
the standard library / boost.
Development is done at: http://github.com/octol/vim-cpp-enhanced-highlight

Optional features
Highlighting of class scope is disabled by default. To enable set
let g:cpp_class_scope_highlight = 1Highlighting of member variables is disabled by default. To enable set
let g:cpp_member_variable_highlight = 1Highlighting of class names in declarations is disabled by default. To enable set
let g:cpp_class_decl_highlight = 1Highlighting of POSIX functions is disabled by default. To enable set
let g:cpp_posix_standard = 1There are two ways to highlight template functions. Either
let g:cpp_experimental_simple_template_highlight = 1which works in most cases, but can be a little slow on large files.
Alternatively set
let g:cpp_experimental_template_highlight = 1which is a faster implementation but has some corner cases where it doesn't
work.
_Note: C++ template syntax is notoriously difficult to parse, so don't expect
this feature to be perfect._
Highlighting of library concepts is enabled by
let g:cpp_concepts_highlight = 1This will highlight the keywords concept and requires as well as all named
requirements (like DefaultConstructible) in the standard library.
Highlighting of user defined functions can be disabled by
let g:cpp_no_function_highlight = 1Installation instructions
Follow one of the sets of directions below and reload vim afterwards.
Vundle
Install using vundle by adding
Plugin 'octol/vim-cpp-enhanced-highlight'to .vimrc and run :PluginInstall.
Git submodule + Pathogen
If you have pathogen installed,
and you prefer to use git submodules, run
cd ~/.vim
git submodule add https://github.com/octol/vim-cpp-enhanced-highlight.git bundle/syntax/Manual installation
If you don't have either Vundle or Pathogen installed, copy the cpp.vim file
(optionally also c.vim) to .vim/after/syntax.
git clone https://github.com/octol/vim-cpp-enhanced-highlight.git /tmp/vim-cpp-enhanced-highlight
mkdir -p ~/.vim/after/syntax/
mv /tmp/vim-cpp-enhanced-highlight/after/syntax/cpp.vim ~/.vim/after/syntax/cpp.vim
rm -rf /tmp/vim-cpp-enhanced-highlightIssues
Vim tend to a have issues with flagging braces as errors, see for example
https://github.com/vim-jp/vim-cpp/issues/16. A workaround is to set
let c_no_curly_error=1Background information
- http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim
- http://www.vim.org/scripts/script.php?script_id=4293
- http://www.vim.org/scripts/script.php?script_id=2224
- http://www.vim.org/scripts/script.php?script_id=1640
- http://www.vim.org/scripts/script.php?script_id=3064
Jon Haggblad <jon@haeggblad.com>
Last update: 19 October 2016