vim 命令

vim 命令

名称

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’选项。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100653.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ESLint结合gulp使用

    ESLint结合gulp使用ESLint结合gulp使用一、安装二、使用步骤1.引入库2.读入数据总结一、安装示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsimportwarningswarnings.filterwarnings(‘ignore’)im

  • hfe和HFE_hfe参数

    hfe和HFE_hfe参数Mako:我们已经学习了有关晶体管的工作原理,晶体管的放大作用就是由小的输入得到大的输出吧?Doc:这种说法还稍微有点欠缺,应该说成用小的输入控制大的输出更为合适。如果只关注晶体管的电流,就可以这样考

  • Hwclock_k8s 源码分析

    Hwclock_k8s 源码分析hwclock解析hwclock用于操纵rtc中的时间1/判断命名所属包linux@ubuntu:~/project/tmp/300/drv/test_trc$dpkg-Shwclockutil-linux:/etc/init.d/hwclock-saveutil-linux:/usr/share/man/man8/hwclock.8.gzutil-linux:/etc/init/

    2022年10月24日
  • 进程间的六种通信方式

    进程间的六种通信方式概述每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。进程间通信目的一般有共享数据,数据传输,消息通知,进程控制等。以Unix/Linux为例,介绍几种重要的进程间通信方式:管道、消息队列、共享内存、信号量、信号、Socket。六种通信方式管道如果你学过Linux命令,那你肯定很熟悉|这个竖线。$psauxf|grepmysql上面命令行里的|竖线就是一个管道,它的功能是将前一.

    2022年10月11日
  • 基于jsp和基于web的区别_java发送短信

    基于jsp和基于web的区别_java发送短信最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细)最近几天有人需要帮忙做一个关于发送验证码的功能,之前没有做过,于是我鼓捣一阵子,记录一下关于web项目中注册登录常用的手机验证码和邮箱验证码的发送。作为一个演示项目,我没有使用任何框架,用了一个简单的jsp+Servlet,当然用boostrap美化了一下。代码带有注释,非常简单易懂。一、手机验证码由于手机…

    2022年10月13日
  • 数据预处理的一些知识「建议收藏」

    数据预处理的一些知识「建议收藏」数据预处理的一些知识做研究时只要与数据分析相关就避免不了数据预处理。我们常见的预处理包括:标准化(规范化),归一化,零均值(化),白化,正则化……这些预处理的目的是什么呢?网上查的总是零零散散,很难搞清楚。因此我用此片博客来总结下。借鉴其他博客的内容,可能未一一注明还请谅解。一,数据标准化目的:为了消除量纲影响和变量自身数值大小的影响,方便统计处理(尤其是加权),故将数据标准化。例如:我们对

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号