总览 (SYNOPSIS)

vim [options] [file ..]
vim
[options] -
vim [options] -t tag
vim [options] -q
[errorfile]

ex
view
gvim gview
rvim
rview rgvim rgview

描述 (DESCRIPTION)

Vim 是 一个 同 Vi 向上兼容的 文本 编辑器, 可以 用来 编辑任何 ASCII 文本,
特别 适合 用来 编辑 程序.

它对 Vi 作了 许多 增强: 多层撤销, 多窗口, 多缓冲区(buffer), 高亮度 语法显示, 命令行编辑, 文件名匹配, 在线帮助, 可视选定,
等等. 用 ":help vi_diff.txt" 看 Vim 和 Vi 的差别 的 摘要.

在运行 Vim 的时候 可以用 ":help" 命令 获得 很多 帮助. 参考 下面的 在线帮助 一节.

一般 可用

       vim file

命令 打开 Vim 来 编辑 一个 文件. 概括的说, 可以用

       vim [options] [filelist]

命令 来运行 Vim . 如果 没有 文件名, 编辑器 就会 打开 一个 空的 缓冲区. 否则 就会用 下面 四个中的一个 来选择 要编辑的
文件.

file ..
文件名列表. 第一个 会 作为 当前 文件 读入 缓冲区, 光标 会停在 缓冲区的 第一行. 你 可以用 ":next" 命令 转到 其它的 文件.
如果 要编辑 一个以 "-" 开头的 文件. 在文件 列表 前面 加上 "--".
-
从 标准输入 读取 被编辑的 文件. 从 标准 错误输出 (应该 是个终端) 读入 命令.
-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".

文件 (FILES)

/usr/share/vim/vim56/doc/*.txt
Vim 文档文件. 用 ":help doc-file-list" 获得 完整的 列表.
/usr/share/vim/vim56/doc/tags
在 文档文件中 查找信息 用的 标签文件.
/usr/share/vim/vim56/syntax/syntax.vim
系统 语法 初始化 文件.
/usr/share/vim/vim56/syntax/*.vim
各种语言的 语法文件.
/usr/share/vim/vimrc
系统 Vim 初始化文件.
/usr/share/vim/gvimrc
系统 gvim 初始化文件.
/usr/share/vim/vim56/optwin.vim
":options" 命令 所用的 脚本文件, 这是个 查看 和 设置选项的 很好的 办法.
/usr/share/vim/vim56/menu.vim
gvim 的 系统菜单 初始化文件.
/usr/share/vim/vim56/bugreport.vim
用来 生成 错误报告的 脚本文件, 见 ":help bugs".
/usr/share/vim/vim56/filetype.vim
根据 文件名 来判定 文件类型 的 脚本文件, 见 ":help 'filetype'".
/usr/share/vim/vim56/scripts.vim
根据 文件内容 来判定 文件类型 的 脚本文件, 见 ":help 'filetype'". 

vim - Vi IMproved, 一个程序员的文本编辑器的更多相关文章

  1. 如果你恨一个程序员 忽悠他去做iOS开发(戏谑篇)

    .state { text-align: right; height: 16px; line-height: 16px; color: #999; padding-top: 5px; overflow ...

  2. 如果你恨一个程序员,忽悠他去做iOS开发

    如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...

  3. 每一个程序员需要了解的10个Linux命令

    作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...

  4. --专访雷果国: 从1.5K到18K 一个程序员的5年成长之路--

    导语:今年三月份,在CSDN博客和新浪微博上有一篇<从1.5K到18K,一个程序员的5年成长之路>被众人分享和传阅,这篇博文首先介绍了作者自学之初薄弱的基础,然后通过流水账形式分享了那个从 ...

  5. 阅读<构建之法>第13、14、15、16、17章 与 《一个程序员的生命周期》读后感

    第十三章   软件测试 这一章介绍了很多关于测试的方法,比如说单元测试,代码覆盖率测试,构建验证测试,验收测试等,我有一个很纠结的问题,如果我开发软件,是把这么多测试全做完,还是挑一些测试来进行呢?如 ...

  6. [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …

    [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Pyth ...

  7. 【转】每一个程序员需要了解的10个Linux命令

    作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...

  8. 如果恨一个程序员,忽悠他去做iOS开发

    如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...

  9. 作为一个程序员,你了解 win 上有哪些必装的软件吗

    关于 win 的一些基础必知内容之前已经分享过,没有看过的可以戳此处→Windows 使用之那些你还不知道操作 新系统安装的第一个软件 Google Chrome 毫无疑问,作为程序员应该是首选的浏览 ...

随机推荐

  1. [Java Performance] 线程及同步的性能之线程池/ThreadPoolExecutors/ForkJoinPool

    线程池和ThreadPoolExecutors   虽然在程序中可以直接使用Thread类型来进行线程操作,但是更多的情况是使用线程池,尤其是在Java EE应用服务器中,一般会使用若干个线程池来处理 ...

  2. c# Winform实现发送邮件

    邮件发送类 来源网上 稍作调整...出处忘了 /** * 命名空间: EmailSend * 类 名: EmailSend * * 作者        变更内容            变更日期 * ─ ...

  3. MUI对话框使用

    一.alert告警框 用法 .alert(message,title,btnvalue,callback[,type]); document.getElementById("noclick& ...

  4. Spring中AOP的基于xml开发和配置

    pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...

  5. 2018-8-10-win10-uwp-ApplicationView

    title author date CreateTime categories win10 uwp ApplicationView lindexi 2018-08-10 19:16:53 +0800 ...

  6. Dubbox服务的提供方开发

    (1)创建Maven工程(WAR)dubboxdemo-service  ,在pom.xml中引入依赖 <project xmlns="http://maven.apache.org/ ...

  7. Spring事务管理-传播行为-隔离级别

    事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败. 事务的特性:ACID 原子性:事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生 一致性:事务前后数据的完整性约束保持一致 ...

  8. php时间时间戳

    /* *+ ------------------------------- * 计算当天起始点和结束点时间戳 取出当天的数据 *+ ------------------------------ */ ...

  9. 网格图必经点+dfs——cf1214D

    先正着走一次把所有可行路径标记出来,然后倒着走两条路径,一条是能向下就向下的路径,另一条能向右就向右. 如果这两条路径相交,那么(1,1)-(n,m)路径上比有个必经点,把这个必经点封上,答案是1,如 ...

  10. Linux 软硬链接区别

    一.“硬链接“和“软链接“ 链接的概念:链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 链接的作用:可以将链接简单地理解为 Windows 中常见的快捷方 ...