名称
vim - Vi IMproved,
一个程序员的文本编辑器
概述
vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
描述
Vim 是一个同 Vi
向上兼容的文本编辑器。
它可以用来编辑任何纯文本。
它特别适合用来编辑程序。
它对 Vi
作了许多增强:多层撤销、多窗口、多缓冲区(buffer)、
高亮语法显示、命令行编辑、文件名补全、在线帮助、可视选择等等。
请用 ":help vi_diff.txt" 查看 Vim
和 Vi
之间差别的摘要。
在运行 Vim
的时候,可以用 ":help"
命令获得很多帮助信息。
请参考下面的“在线帮助”一节。
通常情况下, vim
使用直接把文件名作为参数的方法来编辑文件:
vim 文件名
更通用地来说,
Vim
使用下述方式从命令行启动:
vim [选项] [文件列表]
如果没有给定文件,则编辑器会打开一个空的缓冲区。
否则就会用下面四个中的一个方式来选择要编辑的文件。
- 文件 ..
- 文件名列表。
第一个会作为当前文件读入缓冲区。
光标会停在缓冲区的第一行。
您可以使用 ":next"
命令转到其它的文件。
如果要编辑一个以
"-"
开头的文件,请在文件列表前面加上
"--"。
- -
- 从标准输入读取要编辑的文件。命令从标准错误读取,此时标准错误应当是一个
TTY。
- -t {tag}
- 被 编辑的 文件 和
光标的 初始位置 由
标记 (tag) 决定, 标记
有点像 一种 goto 标签 (goto
label). 在 标记文件中 找到
标记, 相应的 文件
成为 当前文件,
相应的 命令 被执行.
这种方式 常用于 C
程序, 标记 就是
函数名, 当前文件
就是 包含 那个函数的
文件, 光标 停留在
函数的 开始处. 见 ":help
tag-commands"。
- -q [errorfile]
- 运行时 进入
快速修复模式. 读取
[errorfile] 文件 并显示
第一个 错误. 如果
没有 [errorfile] 文件, 文件名
由 'errorfile' 选项 决定 (在 Amiga
为 "AztecC.Err", 在
其他系统中 为 "errors.vim").
可以 用 ":cn" 命令
跳到 其它错误处. 见
":help quickfix"。
Vim 会 根据
不同命令 有 不同的
表现, 尽管 它们 可能
是 一个 可执行 文件.
- vim
- 正常 模式, 所有 都是
默认状态.
- ex
- 以 Ex 模式 运行. 用 ":vi"
命令 进入 正常模式.
也可以 加上 "-e" 选项
进入 此模式.
- view
- 以 只读模式 运行.
你被禁止 写文件.
也可以 加上 "-R" 选项
进入 此模式.
- gvim gview
- GUI 版本。 开启 一个
新的窗口. 也可以
加上 "-g" 选项 进入
此模式.
- rvim rview rgvim
rgview
- 同 上面的 相同, 只是
加上了 限制,
不能运行 shell 程序, 也
不能 暂停 Vim . 也 可以
加上 "-Z" 选项 进入
此模式.
选项 (OPTIONS)
所有选项 都可以 以
任何顺序 出现, 可以
在文件名前, 也可以
在文件名后. 没有
参数的 选项 可以
出现在 一个 "-"
后面.
- +[num]
- 对于 第一个 文件,
光标 会停在 第 "num"
行. 如果 没有 "num" , 则
光标 会停在
最后一行.
- +/{pat}
- 对于 第一个文件,
光标 会停在 {pat} 第一次
出现的 地方. 搜寻
模式 见 ":help search-pattern"。
- +{command}
- -c {command}
- 读入 第一个 文件后
会 执行 {command} 命令. {command}
应为 Ex 命令. 如果 {command} 中
包含有 空格, 必须
用双引号 括住
(这个取决于所用的 shell).
例: Vim "+set si" main.c
注意: 你 最多 可以用 10
个 "+" 或者 "-c"
命令.
- -b
- 二进制模式. 设置
一些选项, 这样
就可以 用来 编辑
二进制 和 可执行
文件 了.
- -C
- 兼容. 设置 'compatible' 选项.
这样 就算 存在 .vimrc 文件
Vim 也会 基本上 象 Vi
一样了.
- -d {device}
- 打开 {device} 用作终端,
只在 Amiga 下。 例: "-d
con:20/30/600/150".
- -e
- 以 Ex 模式 运行 Vim ,
就像 运行 "ex"
一样。
- -f
- 前台 运行。 对于 GUI
版本, Vim 不会
同运行它的 shell 分离。
在 Amiga 中, Vim 不会
重新启动 来 开启一个
新窗口. 这个选项
会用在当 Vim 被
另外一个 程序执行,
并且 这个程序
想等编辑动作 结束后
再运行 的 时候 (如 mail).
在 Amiga 上 ":sh" 和 ":!"
不会起作用.
- -F
- 如果 Vim 编译时
加入了 对 从右到左
书写的 文件 FKMAP 以及 Farsi
键盘映射 的支持, Vim
会 以 Farsi 模式 运行,
比如 设置 'fkmap' 和 'rightleft'
选项.不然 Vim 会 显示
一条 错误信息 并
终止.
- -g
- 如果 Vim 编译时 加入 GUI
支持, 会开启 GUI, 不然
Vim 会 显示 一条
错误信息 并 终止.
- -h
- Vim 显示 命令行 参数
和 选项的 帮助, 然后
终止.
- -H
- 如果 Vim 编译时
加入了 对 从右到左
书写的 文件 RIGHTLEFT 以及
Hebrew 键盘映射 的支持,
Vim 会以 Hebrew 模式 运行,
比如 设置 'hkmap' 和 'rightleft'
选项. 不然 Vim 会 显示
一条 错误信息 并
终止.
- -i {viminfo}
- 准许 使用 viminfo 文件,
这个 选项 设置
使用的 文件名,
默认的 是 "~/.viminfo". 用
"NONE" 文件名 也可以
跳过 使用 .viminfo 文件.
- -L
- 同 -r 一样.
- -l
- Lisp 模式. 打开 'lisp' 和 'showmatch'
选项.
- -m
- 禁止 修改文件. 设置
'write' 选项, 这样 就不能
写文件了.
- -N
- 非兼容 模式. 设置 'compatible'
选项. 这样 Vim 会
表现得 更好, 就算 .vimrc
文件 不存在 也会 同 Vi
不兼容.
- -n
- 禁止 交换文件, 这样
在崩溃后 就 不能
恢复 文件了. 对于
编辑 在很慢的
媒体中的 文件
很有好处 (比如软盘),
也可以 用 ":set uc=0"
禁止交换, 用 ":set uc=200"
开启 交换.
- -o[N]
- 打开 N 个窗口.
如果没有 N, 为
每个文件 开一个
窗口.
- -R
- 只读 模式. 设置 'readonly'
选项. 你 仍然 可以
编辑 缓冲区, 但是
不能 重写文件. 如果
你要 重写文件,
必须在 Ex 命令中
用惊叹号, 比如 ":w!". -R
选项 隐含了 -n 选项
(见下). 'readonly' 选项 可以 用
":set noro" 设置. 见 ":help
'readonly'".
- -r
- 列出 交换文件, 显示
关于 恢复文件的
信息.
- -r {file}
- 恢复 模式. 交换文件
是 用来 恢复 在
编辑过程中 崩溃了的
文件. 交换 文件名 是
被编辑文件名 后面
加上 ".swp". 见 ":help
recovery".
- -s
- 安静 模式. 只在 用
"Ex" 启动 或者 用了
"-e" 选项 才有用.
- -s {scriptin}
- 读入 脚本文件 {scriptin}.
文件里的 字符 就像
你 直接 输入 一样的,
也 可以 用 ":source! {scriptin}"
命令 实现 这个功能.
如果 在 编辑器
结束前 就 读到了
文件尾, 就 接着
从键盘 读入.
- -T {terminal}
- 告诉 Vim 你 用的
终端的 名字, 只有 当
不能 自动确定 的时候
才这样. 它 必须是 Vim
(builtin) 能辨认的 终端
或者是 在 termcap 或者 terminfo
文件中 定义了的.
- -u {vimrc}
- 用 {vimrc} 文件 里的 命令
来初始化, 跳过 所有
其它的 初始化, 用
这个 来编辑
特殊类型的 文件.
也可以 用 "NONE" 来
跳过 所有初始化. 在 vim
中 用 ":help initialization" 查看
更多信息.
- -U {gvimrc}
- 用 {gvimrc} 文件 里的 命令
来初始化 GUI, 跳过 所有
其它的 GUI 初始化, 也
可以 用 "NONE" 来跳过
所有 GUI 初始化. 在 vim 中
用 ":help gui-init" 查看
更多信息.
- -V
- 冗长 显示. 显示 执行
初始化代码 和 读入的
文件, 并且 写 viminfo 文件.
- -v
- 以 Vi 模式运行 Vim , 就像
运行 "vi" 一样, 只有
运行 "ex" 时 才有用.
- -w {scriptout}
- 所有 在 Vim 退出前
你键入的 字符 都会被
存入 {scriptout} 文件. 这 用来
创建一个 脚本文件,
你 可以用 "vim -s" 和
":source!" 来使用. 如果
{scriptout} 存在, 会 把 字符
追加到 后面.
- -W {scriptout}
- 同 -w 一样, 但是
是覆盖 原来的文件.
- -x
- 写文件时 加密.
会提示你 输入密码.
- -Z
- 受限 模式. 同运行 以
"r" 开头的 程序
同效.
- --
- 表明 选项结束.
在此之后的 参数
都会被认为 是
文件名, 可以 用这个
来编辑 一个 以 '-' 开头
的文件.
在线帮助 (ON-LINE HELP)
在 Vim 中键入 ":help"
来 获得 帮助. 用 ":help
subject" 来 获得 关于 一个
特定主题的 帮助. 例如
用 ":help ZZ" 来 获得 关于
"ZZ" 的帮助. 用 <Tab> 和
CTRL-D 来 完成 帮助主题
(":help cmdline-completion"). 可以 用
标记 从 一个地方 跳到
另一个 地方 (有点像
超文本连接, 见 ":help").
所有的 文档 都可以
这样 来浏览, 比如 ":help
syntax.txt".
文件
- /usr/share/vim/vim80/doc/*.txt
- Vim 的文档文件。
请使用 ":help doc-file-list"
获得完整的列表。
- /usr/share/vim/vim80/doc/tags
- 在文档文件中查找信息用的标签文件。
- /usr/share/vim/vim80/syntax/syntax.vim
- 系统层面的语法初始化文件。
- /usr/share/vim/vim80/syntax/*.vim
- 各种语言的语法文件。
- /usr/share/vim/vimrc
- 系统层面的 Vim
初始化文件。
- ~/.vimrc
- 您的个人 Vim
初始化文件。
- /usr/share/vim/gvimrc
- 系统层面的 gvim
初始化文件。
- ~/.gvimrc
- 您的个人 gvim
初始化文件。
- /usr/share/vim/vim80/optwin.vim
- ":options"
命令所用的脚本文件,这是个查看和设置选项的好方法。
- /usr/share/vim/vim80/menu.vim
- 系统层面的 gvim
菜单初始化文件。
- /usr/share/vim/vim80/bugreport.vim
- 用来生成错误报告的脚本文件。详见
":help bugs"。
- /usr/share/vim/vim80/filetype.vim
- 根据文件名来判定文件类型的脚本文件。详见
":help 'filetype'"。
- /usr/share/vim/vim80/scripts.vim
- 根据文件内容来判定文件类型的脚本文件。详见
":help 'filetype'"。
- /usr/share/vim/vim80/print/*.ps
- 用于 PostScript
打印的文件。
要了解最新信息,请查看
VIM 主页:
<URL:http://www.vim.org/>
作者
Vim 的大部分都是 Bram
Moolenaar
在很多人的帮助下完成的。
请见 vim 下的 ":help
credits"。
虽然不大可能还有原始的代码存在,
但是 Vim 仍然是基于 Stevie
写的代码,之后被 Tim
Thompson、 Tony Andrews 和 G.R. (Fred) Walter
修改而成的。
缺陷
也许有吧。 请用
":help todo"
查看已知问题的列表。
请留意,有不少地方可能被其他人视为缺陷与错误,
但实际上这只是因为程序忠实地还原了
Vi 的行为操作。
如果你觉得有些地方“因为和
Vi
的行为不一样”而应该是错误的,
也许你应该再仔细阅读一下
vi_diff.txt 文件(或者在 Vim
中输入 "help vi_diff.txt")。
您也应该查一查“compatible”和“cpoptions”选项的用法。
http://cmpp.linuxforum.net
跋
本页面中文版由中文
man 手册页计划提供。
获取日期:2016-12-14
翻译日期:2016-12-18
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh