forked from ma6174/vim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathos_dos.cnx
executable file
·279 lines (213 loc) · 12.1 KB
/
os_dos.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
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
*os_dos.txt* For Vim version 7.3. 最后更新: 2006年3月23日
VIM 参 考 手 册 作者:Bram Moolenaar
译者: Dasn
http://vimcdoc.sf.net
*dos* *DOS*
本文描述 MS-DOS 和 Win32 版本共有的特性。你还可以参考
|os_win32.txt| 和 |os_msdos.txt|。
1. 文件位置 |dos-locations|
2. 使用反斜杠 |dos-backslash|
3. 标准映射 |dos-standard-mappings|
4. 屏幕的输出与颜色 |dos-colors|
5. 文件格式 |dos-file-formats|
6. :cd 命令 |dos-:cd|
7. 中止键 |dos-CTRL-Break|
8. 临时文件 |dos-temp-files|
9. 默认的 Shell 选项 |dos-shell|
==============================================================================
1. 文件位置 *dos-locations*
只要你把 Vim 的可执行文件 (vim.exe)、帮助文件的目录 (doc) 以及语法文件的目录
(syntax) 放到同一个目录下,Vim 就可以工作了,不需要额外的配置,也不需要修改注
册表或添加环境变量,只要保证 Vim 目录包含在路径中,或者在桌面上做一个快捷方式
也可以。
通常 Vim 资源文件 ("_vimrc" 和 "_gvimrc") 放在 Vim 运行目录的上一级目录。如果
你想把它放在别的地方,可以设置环境变量指向资源文件所在的目录,例如: >
set VIM=C:\user\piet
Vim 会在 "c:\user\piet\" 下寻找资源文件。
备注: 多用户计算机需要这种功能,否则还是把 _vimrc 放在原来的地方简单些。
如果你改变了 vim.exe 的位置,就需要设置一下 $VIM 变量,这样相应的运行目录
(runtime directory) 就是 "$VIM/vim{version}"。例如: >
set VIM=E:\vim
Vim 会在 "e:\vim\vim54" 寻找 5.4 版本运行时需要的文件。
备注: 强烈建议不要这样做。最好把可执行文件和运行时需要的文件放到同一个目录里。
如果你把可执行文件和资源文件都移动了,那么你必须用 $VIM 和 $VIMRUNTIME 两个环
境变量来分别指定资源文件 ("_vimrc" 和 "_gvimrc") 和运行目录的位置。例如: >
set VIM=C:\usr\piet
set VIMRUNTIME=E:\vim\vim54
这样,Vim 可以在 "c:\user\piet\" 目录下找到资源文件,在 "E:\vim\vim54" 目录下
找到运行时所需的文件。
要想了解更多内容,见 |$VIM| 和 |$VIMRUNTIME|。
在 Windows 95 上,你可以在 C:\autoexec.bat 里设置 $VIM。例如: >
set VIM=D:\vim
在 Windows NT 上,你可以在 "控制面板-系统" 或者右键单击 "我的电脑"-"属性",
"环境变量" 选项卡里为每一个用户设置环境变量。
==============================================================================
2.使用反斜杠 *dos-backslash*
在文件名 (这里是指带路径的文件名 译者) 里使用反斜杠 (\) 可能会出问题。在某些命
令里,VI 要用两个反斜杠表示反斜杠。Vim 在这一问题上宽容一些,它不会从文件名中
删除反斜杠,所以直接用 ":e c:\foo\bar" 就可以工作。但是当反斜杠出现在一些特殊
字符 (空格、逗号、反斜杠,等等) 前面时,Vim 就会删除反斜杠。用斜杠来避免问题:
":e c:/foo/bar",同样可以。Vim 会自动把斜杠替换成反斜杠以避免一些 MS-DOS 或
Win32 程序产生问题。
如果你喜欢用斜杠,就设置 'shellslash' 选项。Vim 就会在自动补全文件名的时候,用
斜杠代替反斜杠。这在你使用 UNIX 风格的 'shell' 时,特别有用。
==============================================================================
3. 标准映射 *dos-standard-mappings*
CTRL-PageUp 和 CTRL-PageDown 的原有映射已经被取消了,现在它们的功能是跳转到下
一个或者前一个标签页 |<C-PageUp>| |<C-PageDown>|
如果你想要让它们移动到屏幕行的首行和末行,这样映射:
键 键码 正常/可视模式 插入模式 ~
CTRL-PageUp <M-N><M-C-D> H <C-O>H
CTRL-PageDown <M-N>v L$ <C-O>L<C-O>$
此外,下面这些键用于复制/剪切/粘贴。Win32 版本和 DJGPP 版本使用剪贴板。
Shift-Insert 粘贴文本 (从剪贴板) *<S-Insert>*
CTRL-Insert 复制选择的文本 (到剪贴板) *<C-Insert>*
CTRL-Del 剪切选择的文本 (到剪贴板) *<C-Del>*
Shift-Del 剪切选择的文本 (到剪贴板) *<S-Del>*
这些键是这样映射的 (Win32 和 DJGPP 版本):
键 键码 正常 可视 插入 ~
Shift-Insert <M-N><M-T> "*P "-d"*P <C-R><C-O>*
CTRL-Insert <M-N><M-U> "*y
Shift-Del <M-N><M-W> "*d
CTRL-Del <M-N><M-X> "*d
或这样映射 (非 Win32 版本):
键 键码 正常 可视 插入 ~
Shift-Insert <M-N><M-T> P "-dP <C-R><C-O>"
CTRL-Insert <M-N><M-U> y
Shift-Del <M-N><M-W> d
CTRL-Del <M-N><M-X> d
如果系统支持剪贴板,Vim 就会使用 "* 寄存器。
==============================================================================
4. 屏幕的输出与颜色 *dos-colors*
默认的写屏操作是直接调用 bios 完成的,这在大多数系统上可以工作。你不需要用
ansi.sys。你可以使用 ":mode" 命令设置当前屏幕模式。见 |:mode|。
要想改变 Vim 的颜色,可以使用 |:highlight| 命令。Normal 高亮组 (highlight
group) 决定了 Vim 用什么颜色显示普通的文本。例如,要设置灰色字体和蓝色背景: >
:hi Normal ctermbg=Blue ctermfg=grey
要了解其它可用的高亮组,参见 |highlight-groups|。
DOS 控制台不支持 "粗体"、"下划线" 之类的属性。你可以用九个终端选项来设置五种属
性值的颜色。备注: 因为你可以用 ":highlight" 命令直接设置颜色,这些选项并没有必
要。它们是为了兼容老版本的 Vim 而保留的。|'highlight'| 选项指定每种行为使用五
种模式中的哪一种。九个终端选项如下:
>
:set t_mr=^V^[\|xxm 反转模式开始
:set t_md=^V^[\|xxm 粗体模式开始
:set t_me=^V^[\|xxm 返回正常文本
:set t_so=^V^[\|xxm 突出模式开始
:set t_se=^V^[\|xxm 返回正常文本
:set t_us=^V^[\|xxm 下划线模式开始
:set t_ue=^V^[\|xxm 返回正常文本
:set t_ZH=^V^[\|xxm 斜体模式开始
:set t_ZR=^V^[\|xxm 返回正常文本
^V 代表 CTRL-V
^[ 代表 <Esc>
(在输入上面的命令时,按下 CTRL-V Vim 只会显示 ^,这时不要输入 V,直接输入
<Esc> 即可。译者)
你必须把上面命令里的 xx 换成相应的十进制数,这个数是前景色与背景色相加的和:
颜色 前景色 背景色 ~
黑色 0 0
暗蓝色 1 16
暗绿色 2 32
灰绿色 3 48
暗红色 4 64
暗紫红色 5 80
棕色,暗黄色 6 96
亮灰色 7 112
暗灰色 8 128 *
蓝色,天蓝色 9 144 *
绿色,浅绿色 10 160 *
青绿色,兰绿色 11 176 *
红色,亮红色 12 192 *
紫红色,亮紫红色 13 208 *
黄色,浅黄色 14 224 *
白色 15 240 *
* 在某些显示模式下,大于 128 的颜色代码可能不起作用,并且代码 128 会使字体闪
烁。
代码 0 表示颜色恢复到起始状态 (起始状态的值通常是 7,亮灰色文字,黑色背景,但
你可以修改。如果你在命令行提示上修改了缺省的颜色,你可能需要在 vimrc 文件里调
整一些高亮的颜色--见下面)。
这就是 't_me' 的初始值。
下面是 Vim 默认高亮模式:
t_mr 112 反转模式:黑色文字 (0),亮灰色背景 (112)
t_md 15 粗体模式:白色文字 (15),黑色背景 (0)
t_me 0 正常模式:正常模式 (返回默认状态)
t_so 31 突出模式:白色文字 (15),暗蓝色背景 (16)
t_se 0 突出模式结束 (返回默认状态)
t_czh 225 斜体模式:暗蓝色文字 (1),黄色背景 (224)
t_czr 0 斜体模式结束 (返回默认状态)
t_us 67 下划线模式:灰绿色文字 (3),暗红色背景 (64)
t_ue 0 下划线模式结束 (返回默认状态)
之所以选择这些颜色,是因为它们在使用反转显示的时候看起来比较舒服,但是你可以改
成你喜欢的颜色。
例如: >
:set t_mr=^V^[\|97m " 启动反转模式:暗蓝色文字 (1) 棕色背景 (96)
:set t_md=^V^[\|67m " 启动粗体模式:灰绿色文字 (3) 暗红色背景 (64)
:set t_me=^V^[\|112m " 返回正常模式:黑色文字 (0) 亮灰色背景 (112)
:set t_so=^V^[\|37m " 启动突出模式:暗紫红色文字 (5) 暗绿色背景 (32)
:set t_se=^V^[\|112m " 返回正常模式:黑色文字 (0) 亮灰色背景 (112)
==============================================================================
5. 文件格式 *dos-file-formats*
如果 'fileformat' 设置为 "dos" (这是默认设置),Vim 把 <NL> 或 <CR><NL> 当作行
尾符 (<EOL>)。写入文件的时候,Vim 使用 <CR><NL>。这样,如果你编辑一个文件并且
保存了,那么 Vim 会把所有的 <NL> 替换成 <CR><NL>。
如果 'fileformat' 设置为 "unix",Vim 则使用一个 <NL> 作为 <EOL>,并且把 <CR>
显示为 ^M。
你可以用 Vim 把 <NL> 替换成 <CR><NL>: 在任何模式下读,保存成 Dos 格式
(":set ff=dos")。
你可以用 Vim 把 <CR><NL> 替换成 <NL>: 在 Dos 模式下读,保存成 Unix 格式
(":set ff=unix")。
如果 'fileformats' 非空 (这是默认值),Vim 会自动设置 'fileformat' 的值,因此你
没有必要担心自己究竟在做什么。
|'fileformat'| |'fileformats'|
如果你要编辑一个脚本文件或者一个二进制文件,那么你应该在装载这个文件之前预先设
定 'binary' 选项。脚本和二进制文件可能包含 <NL>,Vim 要把它替换成 <CR><NL>。你
可以在启动时加上 "-b" 参数,这样可以自动置位 'binary' 选项。
==============================================================================
6. :cd 命令 *dos-:cd*
":cd" 命令能识别驱动器符号,并且可以改变当前的驱动器。命令 ":cd c:" 使驱动器 C
成为当前驱动器。命令 ":cd d:\foo",切换当前目录到 "D 盘的 foo 目录下"。Vim 也
能识别 UNC 路径。例如:":cd \\server\share\dir"。 |:cd|
==============================================================================
7. 中止键 *dos-CTRL-Break*
用 CTRL-Break 来代替 CTRL-C 中止查找操作。Vim 只有在接受输入时才能检测到
CTRL-C。
==============================================================================
8. 临时文件 *dos-temp-files*
对于 16 位和 32 位的 DOS 版本:
Vim 把临时文件 (用于过滤) 存放于下列目录中 (按顺序查找下列目录,一旦发现该目录
存在并且可以创建文件,就用它存放临时文件):
$TMP
$TEMP
C:\TMP
C:\TEMP
当前目录
对于 Win32 版本 (控制台和 GUI):
Vim 用标准的 Windows API 函数来获取临时文件名 (用于过滤)。按顺序查找下列目录,
一旦发现该目录存在并且可以创建文件,就用它存放临时文件:
$TMP
$TEMP
当前目录
==============================================================================
9. 默认的 Shell 选项 *dos-shell*
在 Windows 95 上,默认的 'sh' ( 'shell' ) 选项是 "command.com",而在 Windows
NT 上是 "cmd.exe"。如果设置了环境变量 SHELL,Vim 就使用 SHELL 指定的程序,如果
没有设置 SHELL,而设置了环境变量 COMSPEC,Vim 就使用 COMSPEC。Vim 用
"<shell> /c <command_name>" 执行外部命令。输入 CTRL-Z 调用一个子 Shell。要返回
Vim 输入 "exit"。 |'shell'| |CTRL-Z|
如果你运行一个第三方的 shell,你可能需要自己设置一下 |'shellcmdflag'| ('shcf')
和 |'shellquote'| ('shq') 或者 |'shellxquote'| ('sxq') 选项。不幸的是,这些选
项依赖于你所使用的 Vim 的版本。例如,要用 MKS Korn shell 或 bash,这些属性的值
应该设置成:
DOS 16 位 DOS 32 位 Win32 ~
'shellcmdflag' -c -c -c
'shellquote' "
'shellxquote' "
16 位的 Dos 版本这样启动 shell:
<shell> -c "命令" >file
Win32 版本:
<shell> -c "命令 >file"
32 位 DOS 版本,DJGPP 在内部执行。
Vim 启动的时候检查 'shell' 选项的值是否能匹配 "sh" 子串 (在任何位置)。如果是,
Vim 就按照上面的描述设置 'shellcmdflag' 和 'shellquote' 或 'shellxquote' 选
项。
vim:tw=78:ts=8:ft=help:norl: