Ⅰ. 插件描述

Additional Vim syntax highlighting for C++ (including C++11/14/17)

Ⅱ. 基本信息

创建日期:  2013-05-17
使用用户:  2223
Github星:  796
插件作者:  Jon Haggblad

Ⅲ. 安装方法


Plugin 'octol/vim-cpp-enhanced-highlight'
… 然后在Vim中运行以下命令:
:source %

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。


NeoBundle 'octol/vim-cpp-enhanced-highlight'
… 然后在Vim中运行以下命令:
:source %


Plug 'octol/vim-cpp-enhanced-highlight'
… 然后在Vim中运行以下命令:
:source %


cd ~/.vim/bundle
git clone

Ⅳ. 文档说明

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:


Optional features

Highlighting of class scope is disabled by default. To enable set

let g:cpp_class_scope_highlight = 1

Highlighting of member variables is disabled by default. To enable set

let g:cpp_member_variable_highlight = 1

Highlighting of class names in declarations is disabled by default. To enable set

let g:cpp_class_decl_highlight = 1

Highlighting of POSIX functions is disabled by default. To enable set

let g:cpp_posix_standard = 1

There are two ways to highlight template functions. Either

let g:cpp_experimental_simple_template_highlight = 1

which works in most cases, but can be a little slow on large files.
Alternatively set

let g:cpp_experimental_template_highlight = 1

which is a faster implementation but has some corner cases where it doesn't

_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 = 1

This 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 = 1

Installation instructions

Follow one of the sets of directions below and reload vim afterwards.


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 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 /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-highlight


Vim tend to a have issues with flagging braces as errors, see for example A workaround is to set

let c_no_curly_error=1

Background information

Jon Haggblad <>

Last update: 19 October 2016