forked from ma6174/vim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathusr_06.cnx
executable file
·254 lines (174 loc) · 9.51 KB
/
usr_06.cnx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
*usr_06.txt* For Vim version 7.3. 最后修改:2010年5月
Vim 用户手册 - Bram Moolenaar
(译者:Nek_in http://vimcdoc.sf.net)
使用语法高亮
黑白的文字让人厌倦了,增加一些色彩能为你的文件带来生气。这不但看起来漂亮,
还能够提高你的工作效率。本章介绍如何使用不同颜色显示不同文本并把它打印出来。
|06.1| 功能激活
|06.2| 颜色显示不出来或者显示出错误的颜色怎么办?
|06.3| 使用不同的颜色
|06.4| 是否使用色彩
|06.5| 带颜色打印
|06.6| 深入阅读
下一章:|usr_07.txt| 编辑多个文件
前一章:|usr_05.txt| 选项设置
目录:|usr_toc.txt|
==============================================================================
*06.1* 功能激活
一切从一个简单的命令开始: >
:syntax enable
大多数情况下,这会让你的文件带上颜色。Vim 会自动检测文件的类型,并调用合适的语
法高亮。一下子注释变成蓝色,关键字变成褐色,而字符串变成红色了。这使你可以很容
易浏览整个文档。很快你就会发现,黑白的文本真的会降低你的效率!
如果你希望总能看到语法高亮,把 "syntax enable" 命令加入到 |vimrc| 文件中。
如果你想语法高亮只在支持色彩的终端中生效,你可以在 |vimrc| 文件中这样写: >
if &t_Co > 1
syntax enable
endif
如果你只想在 GUI 版本中有效,可以把 ":syntax enable" 放入你的 |gvimrc| 文件。
==============================================================================
*06.2* 颜色显示不出来或者显示出错误的颜色怎么办?
有很多因素会让你看不到颜色:
- 你的终端不支持彩色。
这种情况下,Vim 会用粗体,斜体和下划线区分不同文字,但这不好看。你可能
会希望找一个支持彩色的终端。对于 Unix,我推荐 XFree86 项目的 xterm:
|xfree-xterm|。
- 你的终端其实支持颜色,可是 Vim 不知道。
确保你的 $TERM 设置正确。例如,当你使用一个支持彩色的 xterm 终端: >
setenv TERM xterm-color
<
或者 (基于你用的控制台终端) >
TERM=xterm-color; export TERM
<
终端名必须与你使用的终端一致。如果这还是不行,参考一下 |xterm-color|,
那里介绍了一些使 Vim 显示彩色的方法 (不仅是 xterm)。
- 文件类型无法识别。
Vim 不可能识别所有文件,而且有时很难说一个文件是什么类型的。试一下这个
命令: >
:set filetype
<
如果结果是 "filetype=",那么问题就是出在文件类型上了。你可以手工指定文
件类型: >
:set filetype=fortran
<
要知道哪些类型是有效的,查看一下 $VIMRUNTIME/syntax 目录。对于 GUI 版
本,你还可以使用 Syntax 菜单。设置文件类型也可以通过 |modeline|,这种
方式使得该文件每次被编辑时都被高亮。例如,下面这行可用于 Makefile (把
它放在接近文件首和文件末的地方) >
# vim: syntax=make
<
你可能知道怎么检测自己的文件类型,通常的方法是检查文件的扩展名 (就是点
后面的内容)。|new-filetype| 说明如何告知 Vim 进行那种文件类型的检查。
- 你的文件类型没有语法高亮定义。
你可以找一个相似的文件类型并人工设置为那种类型。如果觉得不好,你可以自
己写一个,参见 |mysyntaxfile|。
或者颜色是错的:
- 彩色的文字难以辨认。
Vim 自动猜测你使用的背景色。如果是黑的 (或者其它深色的色彩),它会用浅
色作为前景色。如果是白的 (或者其它浅色),它会使用深色作为前景色。如果
Vim 猜错了,文字就很难认了。要解决这个问题,设置一下 'background' 选
项。对于深色: >
:set background=dark
<
而对于浅色: >
:set background=light
<
这两个命令必须在 ":syntax enable" 命令前调用,否则不起作用。如果要在这
之后设置背景,可以再调用一下 ":syntax reset" 使得 Vim 重新进行缺省颜色
的设置。
- 在自下往上滚屏的过程中颜色显示不对。
Vim 在分析文本的时候不对整个文件进行处理,它只分析你要显示的部分。这
样能省不少时间,但也会因此带来错误。一个简单的修正方法是敲 CTRL-L。
或者往回滚动一下再回来。要彻底解决这个问题,请参见 |:syn-sync|。有些
语法定义文件有办法自己找到前面的内容,这可以参见相应的语法定义文件。
例如,|tex.vim| 中可以查到 Tex 语法定义。
==============================================================================
*06.3* 使用不同颜色 *:syn-default-override*
如果你不喜欢默认的颜色方案,你可以选另一个色彩方案。在 GUI 版本中可以使用
Edit/Color 菜单。你也可以使用这个命令: >
:colorscheme evening
"evening" 是色彩方案的名称。还有几种备选方案可以试一下。在 $VIMRUNTIME/colors
中可以找到这些方案。
等你确定了一种喜欢的色彩方案,可以把 ":colorscheme" 命令加到你的 |vimrc| 文件
中。
你可以自己编写色彩方案,方法如下:
1. 选择一种接近你理想的色彩方案。把这个文件拷贝到你自己的 Vim 目录中。在
Unix 上,可以这样: >
!mkdir ~/.vim/colors
!cp $VIMRUNTIME/colors/morning.vim ~/.vim/colors/mine.vim
<
在 Vim 中完成的好处是可以利用 $VIMRUNTIME 变量。
2. 编辑这个色彩方案,常用的有下面的这些条目:
term 黑白终端的属性
cterm 彩色终端的属性
ctermfg 彩色终端的前景色
ctermbg 彩色终端的背景色
gui GUI 版本属性
guifg GUI 版本的前景色
guibg GUI 版本的背景色
例如,要用绿色显示注释: >
:highlight Comment ctermfg=green guifg=green
<
属性是 "bold" (粗体) 和 "underline" (下划线) 可以用于 "cterm" 和 "gui"。如
果你两个都想用,可以用 "bond,underline"。详细信息请参考 |:highlight| 命令。
3. 告诉 Vim 总使用你这个色彩方案。把如下语句加入你的 |vimrc| 中: >
colorscheme mine
如果你要测试一下常用的色彩组合,用如下命令: >
:runtime syntax/colortest.vim
这样你会看到不同的颜色组合。你可以很容易的看到哪一种可读性好而且漂亮。
==============================================================================
*06.4* 是否使用色彩
使用色彩显示文本会影响效率。如果你觉得显示得很慢,可以临时关掉这个功能: >
:syntax clear
当你开始编辑另一个文件 (或者同一个文件),色彩会重新生效。
*:syn-off*
如果你要完全关闭这个功能: >
:syntax off
这个命令会停止对所有缓冲区的所有语法高亮。
*:syn-manual*
如果你想只对特定的文件采用语法高亮,可以使用这个命令: >
:syntax manual
这个命令激活语法高亮功能,但不会在你开始编辑一个缓冲区时自动生效 (译者注:Vim
中,每个被打开的文件对应一个缓冲区,后面的章节中你会接触到这方面的内容)。要在
当前缓冲区中使用高亮,需要设置 'syntax' 选项: >
:set syntax=ON
<
==============================================================================
*06.5* 带颜色打印 *syntax-printing*
在 MS-Windows 版本上,你可以用如下命令打印当前文件: >
:hardcopy
这个命令会启动一个常见的打印对话框,你可以通过它选择打印机并作一些必要的设置。
如果你使用的是彩色打印机,那么打印出来的色彩将与你在 Vim 中看到的一样。但如果
你使用的是深色的背景,它的颜色会被适当调整,以便在白色地打印纸上看起来比较舒
服。
下面几个选项可以改变 Vim 的打印行为:
'printdevice'
'printheader'
'printfont'
'printoptions'
要仅打印一定范围内的行,可以用可视模式选择需要打印的行再执行打印命令,例如: >
v100j:hardcopy
"v" 启动可视模式,"100j" 向下选中 100 行,然后执行 ":hardcopy" 打印这些行。当
然,你可以用其它命令选中这 100 行。
如果你有一台 PostScript 打印机,上面的方法也适合 Unix 系统。否则,你必须做一些
额外的处理:你需要先把文件转换成 HTML 类型,然后用浏览器打印。
如下命令把当前文件转换成 HTML 格式: >
:TOhtml
如果不行: >
:source $VIMRUNTIME/syntax/2html.vim
你发现它会嘎吱嘎吱执行一阵子,(如果文件很大,这可能要花点时间)。之后,Vim 会打
开一个新的窗口并显示 HTML 代码。现在把这个文件存下来 (存在哪都不要紧,反正最后
你要删掉它的): >
:write main.c.html
用你喜欢的浏览器打开这个文件,并通过它打印这个文件。如果一切顺利,这个输出应该
与 Vim 中显示的一样。要了解更详细的信息,请参见 |2html.vim|。处理完后别忘了删
掉那个 HTML 文件。
除了打印,你还可以把这个 HTML 文件,放到 WEB 服务器上,让其他人可以通过彩色文
本阅读。
==============================================================================
*06.6* 深入阅读
|usr_44.txt| 自定义语法高亮
|syntax| 关于本话题的全部细节
==============================================================================
下一章:|usr_07.txt| 编辑多个文件
版权:参见 |manual-copyright| vim:tw=78:ts=8:ft=help:norl: