多语言展示
当前在线:901今日阅读:60今日分享:41

Vim启用语法高亮以及C++关键字配色方案

Linux下的Vim代码编辑器简单好用,但是本身对编程语言的关键字高亮及配色需要用户自己设置。在此给出自己的一点学习经验供大家参考。
工具/原料
1

Vim

2

C++配色方案 cpp.vim

3

Linux操作系统 或 Cygwin 用作运行Vim的环境

概念
1

1. 何为Vim语法高亮      Vim本身支持语法高亮功能,有的Vim配置文件中将语法高亮功能禁用了,需要用户在配置文件中启用。      另一点就是语法高亮只是让Vim具有关键字、字符串、数字等的色彩变化的能力,而关键字、字符串、函数名、数字等各需要使用什么样的颜色配置是由一个叫做“配色方案”的文件决定,这中文件一般被命名为xxx.vim。

2

2. 何为配色方案       配色方案就是一些配色代码和指令,当Vim启动时会加载.vimrc这个文件,此文件中的一条设置可以加载配色方案,从而在编写代码时才会有关键字、函数名、字符串等的颜色变化。       现列举一个C++的配置方案,代码放置在本文“材料”一节处,用户只需复制其中的代码保存在一个文件中即可(如cpp.vim)供下面的案例操作。

配置
1

1. vim的属性设置 ,掌握vim的属性概念和设置属性的方法:(1)如果你的/home/xxx用户名/ 下没有.vimrc,请在你的home目录下创建.vimrc方法:用vim自带的配置文件为蓝本配置:cp /usr/share/vim/vim73/vimrc_example.vim   /home/xxx用户名/.vimrc(路径中的vim73中的73为vim的版本号,根据实际情况自己调整)打开/home/xxx用户名/.vimrc文件,写入你需要开启的设置,如  set nocompatible  '关闭vi兼容模式,可以启用方向键和Backspace  syntax on         '自动语法高亮(对于编程语言中的关键字高亮需要下载相应的编程语言对应的'配色方案.vim文件',参见4.C++语言关键字配色 )  set number        '显示行号  colorscheme  cpp.vim  '设定配色方案为cpp.vim  set cursorline ' 突出显示当前行  set ruler ' 打开状态栏标尺  set shiftwidth=4 ' 设定 << 和 >> 命令移动时的宽度为 4  set softtabstop=4 ' 使得按退格键时可以一次删掉 4 个空格  set tabstop=4 ' 设定 tab 长度为 4  set nobackup ' 覆盖文件时不备份

2

2. vim配色方案,掌握vim配色方案这个概念(1)“配色方案”概念:配色方案其实质就是一些vim程序的可执行脚本代码,纯文本格式的,把代码保存成文本文件,然后缀改为.vim即可。(2)增加配色方案首先查看你的系统中自带的有哪些,执行命令  ls -l  /usr/share/vim/vim70/colors/可以看到(vim70中的70为vim的版本号,根据你安装的实际情况确定这个数字是多少)-rw-r--r-- 1 root root 2588 2011-03-06 blue.vim-rw-r--r-- 1 root root 2809 2011-03-06 darkblue.vim    略(3)如果觉得配色方案太少,可以从外部下载配色方案,比如Vim官网

3

3. vim启用语法高亮,让你开启vim语法高亮的开关:1) 打开打开/home/xxx用户名/.vimrc文件,添加以下语句来使得语法高亮显示:syntax on

4

4. C++编程语言关键字配色,使vim能识别C++编程语言中的关键字并配色1.寻找C/C++关键字配色方案的 代码或.vim文件   可以到vim.org 官网搜索2.下载.vim文件或将配色方案代码保存成.vim格式的文本文件(依据自己使用的编程语言选择对应的配色方案文件.vim)3.将.vim文件放置在:/usr/share/vim/vim74/colors 路径下(vim74中的74为版本号,请根据实际情况而定)4.在.vimrc文件(参见 1.vim的属性设置 )中写入如下代码:  set nocompatible  '关闭vi兼容模式,可以启用方向键和Backspace 可选  syntax on         '启用自动语法高亮  必选  set number        '显示行号  可选  colorscheme  cpp  '设定配色方案 cpp.vim C++代码关键字高亮配色方案文件,已经提供5.提供一个C++关键字高亮的cpp.vim下载地址http://www.vim.org/scripts/script.php?script_id=16406.重新启动vim即可

5

5.其它的编程语言关键字高亮并配色参见步骤4

材料

' Vim syntax file' Language:    C++ special highlighting for STL classes and methods' Maintainer:    Nathan Skvirsky' Last Change:    2006 Oct 22' For version 5.x: Clear all syntax items' For version 6.x: Quit when a syntax file was already loadedif version < 600  syntax clearelseif exists('b:current_syntax')  finishendif' Read the C syntax to start withif version < 600   so :p:h/c.vimelse  runtime! syntax/c.vim  unlet b:current_syntaxendif' C++ extentionssyn keyword cppSTL       syn keyword cppStatement    new delete this friend usingsyn keyword cppAccess        public protected privatesyn keyword cppType        inline virtual explicit export bool wchar_tsyn keyword cppExceptions    throw try catchsyn keyword cppOperator        operator typeidsyn keyword cppOperator        and bitor or xor compl bitand and_eqor_eq xor_eq not not_eqsyn match cppCast        '\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<'me=e-1syn match cppCast        '\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$'syn keyword cppStorageClass    mutablesyn keyword cppStructure    class typename template namespacesyn keyword cppNumber        NPOSsyn keyword cppBoolean        true false' The minimum and maximum operators in GNU C++syn match cppMinMax '[<>]?'' Default highlightingif version >= 508 || !exists('did_cpp_syntax_inits')  if version < 508    let did_cpp_syntax_inits = 1    command -nargs=+ HiLink hi link   else    command -nargs=+ HiLink hi def link   endif  HiLink cppAccess        cppStatement  HiLink cppCast        cppStatement  HiLink cppExceptions        Exception  HiLink cppOperator        Operator  HiLink cppStatement        Statement  HiLink cppSTL            Identifier  HiLink cppNCBI        Special  HiLink cppType        Type  HiLink cppStorageClass    StorageClass  HiLink cppStructure        Structure  HiLink cppNumber        Number  HiLink cppBoolean        Boolean  delcommand HiLinkendiflet b:current_syntax = 'cpp'' vim: ts=8

注意事项
1

理解清楚概念问题

2

操作时要细致,不要因为操作顺序、属性设置代码错误而抱怨本文

推荐信息