vim 命令

来源:互联网 发布:博威预算软件 编辑:程序博客网 时间:2024/05/13 07:52
名称
vim - 改进的vi,程序员的文本编辑器  
大纲

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

ex
view
gvim gview
rvim rview rgvim rgview  

描述
Vim 是一个向上兼容于Vi的文本编辑器。用于编辑任何ASCII文本。对于编辑源程序尤其有用。
和VI相比,VIM做了相当大的扩展:多级的undo,多个窗口和缓冲区,句法高亮显示,命令行编辑,文件名的自动完成,在线帮助,可视化的选择,等等。详细的 Vim 和Vi之间的区别可参见"help vi_diff"

在运行 Vim 的时候,使用":help"命令,可以通过在线帮助系统得到许多帮助。参见下面的ON-LINE HELP部分。

大多数时候,可用

       vim file


命令,启动 Vim 以编辑单个文件。更常见的启动 Vim 的方法是用这条命令:

       vim [options] [filelist]


如果缺少文件列表,编辑器起动运行时会打开一个空的缓冲区。否则,可能使用下面四个参数之一,以选择编辑一个或多个文件。

file ..
文件名列表。第一个作为当前文件,被读入缓冲区。光标会停留在缓冲区的第一行上。使用":next"命令可以切换到其余文件。在文件列表前面加上"--" 可以迅速的启动编辑一个文件。
-
需要编辑的文件来自于标准输入(stdin)。而命令从stderr读入,在这里stderr 应该作为一个终端(tty)。
-t {tag}
这个标签(tag)(就是一系列的goto标记)决定了要编辑的文件和初始的光标位置。在标签文件中查找{tag},将关联的文件作为当前文件,并且执行相关的命令。大多数情况下,它用于C程序,这时{tag}可能为一个函数名。好处在于包含该函数的文件会成为当前文件,而且光标会停留在函数开始的地方。参见":help tag_commands"。
-q [errorfile]
以quickFix模式启动。读入文件[errorfile],并显示第一个错误。如果忽略了 [errorfile],文件名会从'errorfile'选项中获得(在Amiga中缺省值是"AztecC.Err" ,在其他系统中是"errors.vim")。使用":cn"可以跳转显示其余的错误。参见":help quick-fix"。
Vim 依据不同的命令参数(执行的可能是同一文件),可能有不同的执行方式。

vim
"正常"模式,所有选项都取缺省值。
ex
以Ex模式开始。用":vi"命令可进入正常模式。也可采用"-e"参数执行。
view
以"只读"模式开始。 文件被写保护。 也可采用"-R"参数执行。
gvim gview
图型用户界面,开始一个新窗口。也可采用"-g"参数执行。
rvim rview rgvim rgview
同上,但有所限制。 不能开启命令解释器,也不能挂起 Vim. 。也可采用"-Z"参数。
 
选项
选项可任意顺序,可在文件名之前或之后。不带参数的选项可组合在单个"破折号"之后。
+[num]
光标定位在首文件的指定行(num)上。若行号(num)为空,光标则定位于最末行。
+/{pat}
光标定位在首文件的第一个{pat}出现的位置。关于有效查找模式,可参阅":help search_pattern"。
+{command}
-c {command}
命令({command})将在第一个文件读取之后执行。该命令是作为"Ex command"解释。若该命令({command})包含空格,则必需用双引号包括(依据采用的解释器)。例如:Vim "+set si" main.c
注意:最多可采用十个"+"或"-c"命令。
-b
二进制模式。少用的选项,用来设置编辑二进制或可执行文件。
-C
兼容模式,设置'兼容模式(compatible)'选项。即使在".vimrc"文件存在的情况下,也使得 Vim 很像Vi。
-d {device}
打开设备(device)作为终端。只用于Amiga。例如: "-d con:20/30/600/150"。
-e
用Ex模式开启 Vim ,就好像执行调用"ex"。
-f
前台模式。对图形用户界面, Vim 开启时与命令解释器不分离,对Amiga, Vim 并不以新窗口重开。当 Vim 被一个程序用来等待编辑进程结束(如邮件程序),需采用该模式。对amiga,":sh"和":!"命令将无效。
-F
如果 Vim 采用FKMAP(采用自右向左编辑文件、波斯语键盘映射)支持模式编译,该选项使得 Vim 以波斯语模式开始,也就是设置了"fkmap"和"rightleft"选项。否则将出现错误信息, Vim 也将中断。
-g
如果 Vim 采用GUI支持模式编译,该选项使GUI生效,若未以GUI支持模式编译,将出现错误信息, Vim 也将中断。
-h
Vim 退出之后给出一些命令行参数和选项的帮助。
-H
如果 Vim 采用RIGHTLEFT(采用自右向左编辑文件、希伯来语键盘映射)支持模式编译,该选项使得 Vim 以希伯来语模式开始,也就是设置了"hkmap"和"rightleft"选项。否则将出现错误信息, Vim 也将中断。
-i {viminfo}
当使用viminfo文件的使用有效,该选项使用该文件名来代替缺省的"~/.viminfo"文件。也可使用"NONE"来跳过".viminfo"文件的使用。
-L
与-r相同。
-l
Lisp模式。把'lisp'和'showmatch'选项设置为开。
-m
禁止进行修改文件。重新设置'write'选项,以使修改文件成为不可能的。
-N
非兼容模式。 重新设置'compatible'选项。这个设置将使 Vim 的性能得到一点提高,但同时牺牲了与VI的兼容性,就是在.vimrc文件不存在的时候也是如此。
-n
不使用交换文件。所以在出意外时,文件不能恢复。如果你在一慢速介质(如:软盘)上编辑文件,请随时手工存盘。此参数也可以通过在命令状态输入":set uc=0"设置。取消此项功能则在命令行输入":set uc=200"。
-o[N]
打开N个窗口。如果忽略了N,就为每个文件打开一个窗口。
-R
只读模式。将设置'readonly'选项。你仍然可以编辑缓冲区,但可以防止你无意地覆盖文件。如果你需要覆盖文件,就为Ex命令增加一个惊叹号,如":w!"。 -R选项还隐含了 -n 选项(见下)。可以用":set noro"重新设置'readonly'选项。参见":help 'readonly'"。
-r
列举对换文件,以及关于把它们用于恢复的信息。
-r {file}
恢复模式。对换文件用来恢复被破坏的编辑过程。对换文件的文件名是在原文件的文件名后加上".swp"后缀名。参见":help recovery"。
-s
寂静模式。 只能在命令状态下启动,或在"-s"参数前加上"-e"参数。
-s {scriptin}
此参数读入脚本文件{scription}。文件中的字符就象你敲入的那样被解释。你也可以在命令状态下使用":source! {scription}"来设置此模式。如果编辑器退出之前就已经读到了脚本文件的底部,那么编辑器就将从键盘键入中读入字符。
-T {terminal}
告诉 Vim 你要使用的终端名。只有在自动方式无法工作是才使用。使用的终端必须是 Vim 知道的内建终端,或者是在termcap或terminfo文件中定义的终端。
-u {vimrc}
此参数使用{vimrc}指定的文件中的命令来初始化。其它的初始化都将被忽略。用本选项编辑特殊类型的文件。也可以将{vimrc}设置为"NONE"来跳过所有的初始化。关于更多细节,在vim中参见":help initialization"。
-U {gvimrc}
此参数使用文件{gvimrc}中的命令来进行GUI初始化。其它的GUI初始化都将被跳过。也可以将{gvimrc}设置为"NONE"来忽略所有的GUI初始化。关于更多细节,在vim中参见": help gui_init"。
-V
冗余。 给出关于哪些被作为源文件的和用来读写一个viminfo文件的文件消息。
-v
以Vi模式启动 Vim ,就象可执行文件的文件名是"vi"一样。 这只在可执行文件被称为"ex"的时候才有影响。
-w {scriptout}
所有你输入的字符都被记录在文件{scriptout}中,直到你退出 Vim 。如果你想创建一个脚本文件用来和"vim -s"或":source!"使用时,它就是有作用的。如果{scriptout}文件存在,就附加一些字符。
-W {scriptout}
类似于-w,但是覆盖已经存在的文件。
-x
通过加密过滤被读写的文件。 还未实现。
-Z
限制模式。 象是可执行的从"r"开始一样工作。
--
意味着选项结束。在这以后的变量将被作为一个文件名来处理。这将能用来编辑一个以一个"-"开始的文件名。
 
在线帮助
在 Vim 中输入":help"来开始。输入":help subject"来在具体的主题上获得帮助。例如:输入"help ZZ"来获得关于"ZZ"命令的帮助。使用<Tab>和CTRL-D来完成主题(":help cmdline_completion")。用标签来表示在从一个位置到另一个的跳转(超级链接类型,见":help")。所有的文档文件都能用这种方式来观看,例如":help syntax.txt"。  
文件
/usr/share/vim/vim54/doc/*.txt
Vim 文档文件。使用":help doc-file-list"来得到完整的清单。
/usr/share/vim/vim54/doc/tags
标记文件用来找到在文档文件中的信息。
/usr/share/vim/vim54/syntax/syntax.vim
系统广泛的语法初始化。
/usr/share/vim/vim54/syntax/*.vim
用于不同语言的语法文件。
/usr/share/vim/vimrc
系统范围的 Vim 初始化操作。
/usr/share/vim/gvimrc
系统范围的gvim初始化操作。
/usr/share/vim/vim54/optwin.vim
用于":options"命令的脚本,一种察看与设置选项的良好方式。
/usr/share/vim/vim54/menu.vim
系统范围的gvim的菜单初始化操作。
/usr/share/vim/vim54/bugreport.vim
用于生成错误报告的脚本。 参见":help bugs"。
/usr/share/vim/vim54/filetype.vim
通过文件名监测文件类型的脚本。 参见":help 'filetype'"。
/usr/share/vim/vim54/scripts.vim
通过文件内容监测文件类型的脚本。 参见":help 'filetype'"。
最新消息请阅读VIM主页:
<URL:http://www.vim.org/>  

参见
vimtutor(1)  
作者
Vim 的大部分是Bram Moolenaar编写的,其中得到了其他人的大量帮助。参见":help credits"。
Vim 最初为Stevie开发,为Tim Thompson、Tony Andrews和G.R. (Fred) Walter所完善。虽然几乎没有保留任何原始的代码。  
错误
很可能。关于已知问题的列表,参见":help todo"。
注意,不少被一些人认为是错误的地方,实际上是过于忠诚于再现Vi的功能。并且如果你其它一些地方是错误,认为" 因为Vi与它不一样",那么你应该更注意看看vi_diff.txt文件( 或在Vim 中键入":help vi_diff")。同样看一下'compativle'与'cpoptions'选项。