ex命令
ex
命令用于在Ex
模式下启动vim
文本编辑器,ex
执行效果如同vi -e
,如要从Ex
模式回到普通模式,则在vim
中输入:vi
或:visual
指令即可,可以通过运行vi -e
来启动ex
,也可以通过运行ex -v
来启动vi
,ex
是vim
的基础,vim
是世界上最受欢迎的文本编辑器之一。ex
并不是另一个编辑器,应该说vi
是更一般更基本的ex
行编辑器的可视模式,所以ex
算是vi
的底层行编辑器。由于一些ex
命令可以节省大量的编辑时间,因此在使用vi
时它们是非常有用的,这些命令的大部分都可以在不离开vi
的情况下使用。
语法
ex [ -| -s ] [ -l ] [ -L ] [ -R ] [ -r [ file ] ] [ -t tag ] [ -v ] [ -V ]
[ -x ] [ -wn ] [ -C ] [ +command | -c command ] file
参数
--
: 此后仅文件名。-v
: 在vi
模式下启动vim
。-e
: 在ex
模式下启动vim
。-E
: 以改进的ex
模式启动vim
。-s
: 沉默模式,仅当以Ex
开头或在-s
选项之前给出-e
选项时生效。-d
: 以diff
模式启动,应该有两个或三个文件名参数,vim
将打开所有文件并显示它们之间的差异,像vimdiff
一样工作。-y
: 以简单模式启动vim
,类似于evim
或eview
,使vim
的行为像单击并键入编辑器。-R
: 只读模式,将设置readonly
选项,此时仍然可以编辑缓冲区,但将防止意外覆盖文件。如果仍要覆盖文件,请在Ex
命令中使用w!
。-Z
: 限制模式,类似于rvim
。-m
: 禁止修改文件,重置写入选项,此时仍然可以修改缓冲区,但不可写入文件。-M
: 不允许修改,可修改和写入选项将被取消设置,因此不允许进行更改并且无法写入文件。请注意,可以设置这些选项以进行修改。-b
: 二进制模式,将设置一些选项,以便可以编辑二进制文件或可执行文件。-l
:Lisp
模式,将lisp
和showmatch
选项设置为开。-C
: 兼容的,设置兼容
选项,这将使vim
的行为与vi
类似,即使存在.vimrc
文件。-N
: 不兼容模式,重置兼容选项,即使.vimrc
文件不存在,这也会使vim
表现得更好,但与vi
的兼容性较差。-V[N][fname]
: 详细信息,提供有关哪些文件来源以及用于读取和写入viminfo
文件的消息,可选数字N
是详细的值,默认值是10
。-D
: 调试模式,从脚本执行第一个命令时转到调试模式。-n
: 不会使用交换文件,这样崩溃后的恢复将是不可能的。如果要在非常慢的介质例如软盘上编辑文件,此功能非常方便。-r
: 列出交换文件,以及有关使用它们进行恢复的信息。-r <file name>
: 恢复模式,交换文件用于恢复崩溃的编辑会话,交换文件与附加.swp
的文本文件具有相同的文件名。-L
: 与-r
相同。-A
: 如果vim
是在阿拉伯语支持下编译的,用于编辑从右向左的文件和阿拉伯语键盘映射,则此选项将以阿拉伯语模式启动vim
,即设置ARABIC
,否则将发出错误消息,vim
将中止。-H
: 以希伯来语模式启动。-F
: 以波斯语模式开始。-T <terminal>
: 告诉vim
正在使用的终端的名称,仅在自动方式无效时才需要,应该是vim
内置已知的终端,或在termcap
或terminfo
文件中定义的终端。--not-a-term
: 输入或输出不是终端时跳过警告。-u <vimrc>
: 使用文件.vimrc
中的命令进行初始化,将跳过所有其他初始化。使用此选项可编辑特殊类型的文件,也可以用来跳过所有的初始化,方法是给名称NONE
。 initialization”。--noplugin
: 跳过加载插件,由-u
表示无。-p[N]
: 打开N
个标签页,如果省略N
,则为每个文件打开一个标签页。-o[N]
: 打开堆叠的N
个窗口,当省略N
时,为每个文件打开一个窗口。-O[N]
: 并排打开N
个窗口,如果省略N
,则为每个文件打开一个窗口。+
: 从文件末尾开始。+<lnum>
: 对于第一个文件,光标将定位在num
行上。如果缺少num
,则光标将位于最后一行。--cmd <command>
: 在加载任何.vimrc
文件之前执行<command>
。-c <command>
: 加载第一个文件后执行<command>
。-S <session>
: 加载第一个文件后源文件的<session>
。-s <scriptin>
: 从文件<scriptin>
中读取普通模式命令。-w <scriptout>
: 将所有键入的命令附加到文件<scriptout>
。-W <scriptout>
: 将所有键入的命令写入文件<scriptout>
。-x
: 编辑加密文件。--startuptime <file>
: 将启动定时消息写入<file>
。-i <viminfo>
: 使用<viminfo>
而不是.viminfo
。-h or --help
: 输出帮助信息。--version
: 输出版本信息。
示例
对file.txt
启动ex
编辑模式。
ex file.txt
显示总行数、当前行号。
= | .=
打印文件前3
行内容。
1,3 p
删除第1
到第2
行,切换回vi
模式查看效果。
1,2 d
vi
移动第1
、2
行到第3
行下边。
1,2 m 3
vi
复制第1
、2
行到第3
行下边。
1,2 co 3
vi
每日一题
https://github.com/WindrunnerMax/EveryDay
参考
https://www.computerhope.com/unix/uex.htm
https://www.runoob.com/linux/linux-comm-ex.html
https://www.cnblogs.com/dasn/articles/5240991.html
https://www.tutorialspoint.com/unix_commands/ex.htm
https://blog.csdn.net/u013408061/article/details/77853130
https://www.geeksforgeeks.org/ex-command-in-linux-with-examples/