vim 颜色设置
来源:互联网 发布:java this关键字详解 编辑:程序博客网 时间:2024/05/16 13:06
vim颜色设置
2007-06-29 09:32:27| 分类:转贴好文| 标签:编程相关 |举报|字号 订阅
学习Vim的一点心得现在的工作是在unix平台,平时是用UE的ftp功能来写代码的,有时候文件大了,传输就很慢,而且经常不是很稳定。
下定决心要学学Vim(现在应该没有人用原始的vi了吧),在经过二周的使用后,发现Vim实在是非常不错的一个editor,现在我在Windows上也装了一个Vim,使用起来颇为顺手,基本上已经替代了UE。
下面介绍一些我在使用Vim的过程中得到的一些心得:
1. 在使用Vim之前一定要进行一些设置,否则你使用起来肯定会很不爽,下面是我的配置
1 " ==============================================
2 " General settings
3 " ==============================================
4
5 set nocp
6 set ru
7 " 使用cindent
8 set cin
9 set cino = :0g0t0(sus
10
11 set sm
12 set ai
13 " 缩近
14 set sw=4
15 set ts=4
16 " 不展开tab为空格,反之set et
17 set noet
18
19 set lbr
20 set hls
21 set backspace = indent , eol , start
22 set whichwrap = b , s , < , > , [ , ]
23 set fo+ = mB
24 set selectmode =
25 set mousemodel = popup
26 set keymodel =
27 set selection = inclusive
28 set matchpairs+ =
29
30 " ==============================================
31 " Cursor movement
32 " ==============================================
33 nnoremap gj
34 nnoremap gk
35 vnoremap gj
36 vnoremap gk
37 inoremap gj
38 inoremap gk
39
40 nnoremap g$
41 nnoremap g0
42 vnoremap g$
43 vnoremap g0
44 inoremap g$
45 inoremap g0
46
47 nmap :confirm bd
48 vmap :confirm bd
49 omap :confirm bd
50 map! :confirm bd
51
52 " 打开语法高亮
53 syntax on
54 " 使用语法进行折叠
55 set foldmethod=syntax
56
57 if (has( " gui_running " ))
58 set nowrap
59 set guioptions+=b
60 colo inkpot
61 else
62 set wrap
63 colo ron
64 endif
65
66 " 设置swap文件的目录
67 set dir = D:\vim\tmp
68 " 设置备份文件的目录
69 set backupdir=D:\vim\bak
70
71 " 设置leader的快捷键,原来的“\”太远了,而且位置还不固定
72 let mapleader = " , "
这里是一些基本设置
如果有什么不太清楚的,可以在Vim里normal模式下
:h 关键字
查看帮助
2. Vim教程
推荐先看看Vim自带的Tutor(这可是位好老师)
用vimtutor启动Vim
或者在Vim里面用:h tutor来启动
中文教程我推荐李果正的《大家来学Vim》
这里还有Vim的键位示意图,可以打出来随时查看哦
3. Vim的插件
有几个插件强烈推荐
(1) A:在同名的cpp和h文件之间切换 http://www.vim.org/scripts/script.php?script_id=31
(2) NERD_comments:超强的注释插件,支持很多语言的注释风格,按照上面的设置,只需要",cc"就可以添加注释了 http://www.vim.org/scripts/script.php?script_id=1218
(3) csupport:写C/C++代码必备 http://www.vim.org/scripts/script.php?script_id=213
(4) LargeFile:再也不用担心打开大文件会慢了 http://www.vim.org/scripts/script.php?script_id=1506
(5) TipOfTheDay:多读读vim的tips会有很多收获的,记得要经常更新tips文件啊 http://www.vim.org/scripts/script.php?script_id=88
(6) cppomnicomplete:提供C++中类/对象成员的补全(需要Vim7) http://www.vim.org/scripts/script.php?script_id=1520
(7) ColorSamplerPack:提供上百种颜色主题,必有一款适合你,不过大多数都是在GUI下才有相应的效果 http://www.vim.org/scripts/script.php?script_id=625
(8) vimcdoc:汉化的vim帮助 http://vimcdoc.sourceforge.net/
3. 在telnet中使用vim的颜色
如果是在linux中使用telnet,SecureCRT会自动使用合适的颜色来显示vim不同的颜色,但是如果在其他unix下就会无法显示正确的颜色,所有的东西都是同一种颜色。
在.vimrc中加入(^[的输入方式是Ctrl-v然后输入Esc):
if !has("gui_running")
set t_Co=8
set t_Sf=^[[3%p1%dm
set t_Sb=^[[4%p1%dm
endif
并在SecureCRT的模拟终端类型选择ANSI,并钩上ANSI Color,就可以显示不同的颜色了
4. vim的自动补全功能
一般使用Ctrl+n就可以自动补全了,从Vim7后,C/C++的函数、变量或者是类的成员,使用Ctrl+x,Ctrl+o也可以自动补全。在安装了cppomnicomplete后,对象的成员也可以用Ctrl+x,Ctrl+o来补全
5. 代码折叠
许多editor都支持代码折叠,Vim也不例外
常用的快捷键
zc 折叠代码
zo 打开折叠的代码
还有其他的快捷键可以查看帮助
:h fold
6. 自动格式化代码
在Visual模式下,选中代码按=就可以了
Normal模式下,按=会格式化光标所在行
7. 脚本支持
Vim不仅有内建的脚本功能,还支持Perl,Python,Tcl,Ruby和MzScheme这些流行的脚本语言编写Vim的扩展
Vim的功能是不是很强大?
经过1年多的测试Vim 7.0也release了,还不快下载来试试
http://www.vim.org
Happy Vimming!
对于已经习惯了使用Vim但是要在Windows下编程的用户
我还推荐
ViEmu,可以在VisualStudio下模拟Vi的编辑操作
不过只有30天的试用期
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
本文覆盖范围:
- Vim 的着色方案
- 设置高亮
- 选择颜色
- 语法高亮除错
每个程序员的文本编辑器缺少了语法高亮、特殊关键字和短语着色,都是不完整的。语法高亮突出了文档的结构,帮助发现排字错误,利于调试,整体上让文本编辑更轻松更有效率。本篇我们将探讨一下Vim的语法高亮范式以及如何建立和定制着色方案。
Vim着色方案
首先说明,本文谈论的不是哪种颜色最好,而是Vim如何处理语法高亮的问题。
在决定如何给一个文件着色时,Vim首先将文件分解成若干结构组。这些都是通过编写好的语法命令文件来实现,这些文件在Vim加载一个文件的时候就自动加载了,加载过程则是基于一系列复杂规则。如果Vim选择了一个错误的语法命令文件,你可以通过以下命令手工指定一个正确的文件:
:set syn=syntax-type
其中syntax-type是一个文件的类型。通常文件类型就是文件扩展名,例如选择PHP语法高亮,则将syntax-type设置为“php”。
Vim主要使用以下九种高亮分组:
Comment : 注释Constant : 常量,例如数字、引号内字符串、布尔值。Identifier : 变量标识符名称。Statement : 编程语言的声明,一般是像“if”或“while”这样的关键字。PreProc : 预处理,例如C语言中的“#include”。Type : 变量类型,例如“int”。Special : 特殊符号,通常是类似字符串中的“\n”。Underlined : 文本下划线。Error : 显示编程语言错误的文本。
另外还有一个分组叫做Normal,表示普通文本。
也许你已经注意到,这些高亮分组主要针对编程语言,这是因为语法高亮对它们最有用。但是,Vim的高亮命令覆盖的文件类型远超过编程语言,包括从HTML到EMAIL的任何东西。
Vim还支持三种输出设备:black-and-white terminal(黑白终端),color terminal(彩色终端)和GUI(图形化的用户接口)。因为它们每一个都有自己独特的高亮能力,Vim为它们维护了三个独立的高亮方案。
建立高亮
实现高亮的最简便方式就是使用别人写好的.vimrc文件,就像这个(点击下载)。大多数时候这样做都挺好使。但是,如果它不好使或者你想从头开始,以下就是告诉你如何从头开始。
你必须在你的.vimrc文件的第一行写入:
syntax on
这行命令告诉Vim开始使用语法高亮。如果你暂时不想改动文件,你也可以在Vim窗口输入它作为一行命令。
如果你正在使用黑白终端或者GUI接口,一切都工作得刚刚好。如果你正在使用一个支持彩色的终端,你也许不得不将以下命令置于syntax on上一行:
set term=ansi
你也可以尝试一下color_xterm来代替ansi。
选择颜色
Vim有一套默认颜色方案,在我看来,有点过度明亮和混乱(注释和变量颜色是一样的)。但是每个人都有一套自己的颜色偏好,因此你可能会很想了解如何改变它的色彩来符合自己的口味。
Vim着色使用:highlight和:hi命令。:hi命令实际上是多用途命令,它负责许多例行着色,我们仅用它的颜色选择功用。它具有以下语法:
:hi Group key=value ...
Group就是前面所说的9个高亮分组名。
key-value键值对规定了不同输出终端的高亮值。这里有三个基本键名:term、cterm和gui,代表着黑白终端、彩色终端和图形界面。除了term以外,另外两个基本键还有两个扩展键名base-namefg和base-namebg,分别代表对应终端的前景和背景颜色。基本键只能拥有非色彩的高亮值,例如加粗和下划线。
以下是一些高亮键和它们可能的值:
term/cterm/gui: bold, underline, reverse, italic, nonectermfg/ctermbg: red, yellow, green , blue, magenta, cyan, white, blcak, grayguifg/guibg: 以上所有颜色,而且还可以使用#rrggbb格式色彩。
例如,我想高亮我的预处理声明为bright magenta,可以使用如下命令:
:hi PreProc ctermfg=magenta cterm=bold guifg=#FF00FF
注意,我可以在一行中使用多个键值对,他们都会应用于同一个高亮分组。
通常来说,只要你喜欢一个着色方案,你可以将它设置在你的~/.vimrc文件中,Vim会自动将其加载。
语法高亮除错
Vim的语法高亮偶尔也存在一些小问题,我就经常遭遇到其中的三个。
没有彩色,只有黑白终端高亮。
导致这种情况的最常见的原因是Vim无法确定终端是否具备彩色能力。要修复它,首先确保在.vimrc文件第一行设置了term=ansi,一定要在syntax on所在行之前。另外还要在shell中将环境变量TERM设置为color_xterm和color-xterm。
颜色有了,但不是我想要的。
这常发生在你试图修改别人的.vimrc文件以为己用的时候。有时,你只需要将自己的色彩定义全部放到文件的底部去就可以修复。如果不奏效的话,检查所有可疑的代码,然后将它们注释。(注释方法为在行首添加双引号)
滚屏时颜色乱成一团
Vim在确定高亮法则的时候使用多种探索方法来节约时间,有时这会造成一些故障。查看:h syn-sync可以得到更多细节。要修复这个,你可使用以下命令:
syn sync minlines=1000
你也可以在.vimrc文件中设置更大的数值。在Vim 6.0及以上版本,你可以使用以下命令:
syn sync fromstart
该命令强制高亮引擎从文件第一行开始解析文件,这对大文件而言会很慢,但它可以确保色彩准确度。
此时此刻,如果你习惯了使用Vim,并且你已经鼓捣了一阵它的配置,发现一些你喜欢的特性,恭喜你,你现在是一个Vim User了。当然,在本教程中我还会教更多的关于Vim的东西,有人写了一整本关于编程的书,但我希望你从本教程可以掌握一些基础知识并且探索更多知识。享受学习,这是一项你永远不会后悔拥有的技能
- vim颜色设置
- vim 颜色设置
- vim 颜色设置
- vim设置背景颜色
- vim 颜色设置
- vim设置注释颜色
- Xshell/vim颜色设置
- SecureCRT 设置 vim 颜色
- vim颜色设置
- linux vim颜色的设置
- SecureCRT设置vim显示颜色
- Vim设置颜色主题(colorscheme)
- SecureCRT设置vim显示颜色
- linux vim颜色的设置
- VIM颜色设置(evening, desert, morning....)
- CentOS 中 Vim 设置颜色样式
- linux Vim的高亮颜色设置
- vim 颜色和中文支持设置
- Android 其他
- Hibernate—No row with the given identifier exists
- Hadoop YARN的发展史与详细解析
- 几种任务调度的 Java 实现方法与比较
- .net加载子目录中动态库方法
- vim 颜色设置
- Qt5.3.1 MinGW482 release静态版编译结果、过程及QtCreator配置(转)
- Ajax 和 jQuery 实现进度条+上传文件到Django
- 二叉查找树 模板实现 C++
- 等待函数(保持界面正常响应)
- DSP启动流程
- ThreadLocal的使用
- Hadoop 新 MapReduce 框架 Yarn 详解
- 《Windows核心编程》——五 作业