vim

VIM(1)                       General Commands Manual                      VIM(1)



名称
       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/>

参见
       vimtutor(1)

作者
       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”选项的用法。

[中文版原维护人]
       唐友 <tony_ty@263.net>

[中文版原最新更新]
       2001/8/30

[原中国Linux论坛man手册页翻译计划]
       http://cmpp.linuxforum.net


       本页面中文版由中文 man 手册页计划提供。

       获取日期:2016-12-14
       翻译日期:2016-12-18
       中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh




                                   2006-04-11                             VIM(1)