ex命令

ex命令用于在Ex模式下启动vim文本编辑器,ex执行效果如同vi -e,如要从Ex模式回到普通模式,则在vim中输入:vi:visual指令即可,可以通过运行vi -e来启动ex,也可以通过运行ex -v来启动viexvim的基础,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,类似于evimeview,使vim的行为像单击并键入编辑器。
  • -R: 只读模式,将设置readonly选项,此时仍然可以编辑缓冲区,但将防止意外覆盖文件。如果仍要覆盖文件,请在Ex命令中使用w!
  • -Z: 限制模式,类似于rvim
  • -m: 禁止修改文件,重置写入选项,此时仍然可以修改缓冲区,但不可写入文件。
  • -M: 不允许修改,可修改和写入选项将被取消设置,因此不允许进行更改并且无法写入文件。请注意,可以设置这些选项以进行修改。
  • -b: 二进制模式,将设置一些选项,以便可以编辑二进制文件或可执行文件。
  • -l: Lisp模式,将lispshowmatch选项设置为开。
  • -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内置已知的终端,或在termcapterminfo文件中定义的终端。
  • --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

移动第12行到第3行下边。

1,2 m 3
vi

复制第12行到第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/

ex命令的更多相关文章

  1. Cmder--Windows下命令行利器

    cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...

  2. 【每日一linux命令4】常用参数:

     下面所列的是常见的参数(选项)义: --help,-h                              显示帮助信息 --version,-V                        ...

  3. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  4. MVVM模式解析和在WPF中的实现(三)命令绑定

    MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  5. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  6. SQLServer文件收缩-图形化+命令

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...

  7. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  8. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

随机推荐

  1. Linux性能分析——TOP命令详解

    Linux性能分析--TOP命令详解 1.Top命令介绍 Linux系统中,Top命令主要用于实时运行系统的监控,包括Linux内核管理的进程或者线程的资源占用情况. 这个命令对所有正在运行的进程和系 ...

  2. 【SHELL】反斜杠解决多个shell实例扩展

    本意是想获取代码仓相对路径,代码如下 base_dir=`pwd` repo forall -c '{     user_dir=$(realpath --relative-to="$bas ...

  3. CSS : div 高度为0的三种情况

    1, css 样式没正确绑定 ( 也就是没有设置高度 ) 2, 子元素 浮动 ( float ) 3, 子元素 绝对定位 ( position : absolute )

  4. [转帖]linux shell 脚本一些主要知识点整理

    文章目录 一./bin/sh 与 /bin/bash 的区别 二.vi与vim的区别 三.shell变量 四.Shell字符串 五.Shell函数 六.Shell基本运算符 1.Shell expr: ...

  5. F5内核参数的简要学习

    前言 最近学习了很长时间的Linux内核参数 但是大部分是纸上谈兵. 也没有一个好的系统用于学习和参照 晚上搜索F5资料时发现F5有一些iso和ova文件 就想着下载学习一下. 看看F5系统默认的参数 ...

  6. [翻译]-hugePage的简要说明--部分内容

    hugePage的简要说明 本篇文档的主旨给linux内核支持的大页内存做一个简要的概述. 大页内存的实现是建立在大多数现代架构所都支持的多级页大小的特性之上的. 举例: x86架构下大部署CPU 的 ...

  7. Nginx 发布 Docker 运行日志的方法

    背景 公司这边想进行容器化负载均衡部署. 脚本很简单, 已经实现了, 但是发现我这边没有ELK也没有LOKI 又不太像切入到容器内部进行 获取日志信息. 所以我这边想了一个别的招来动态刷新日志. 思路 ...

  8. 海量数据 vastbase G100 V2.2安装简单总结

    海量数据vastbase G100 V2.2 安装总结 背景说明 最近进行信创四期的数据库兼容性验证, 获取了海量数据的一个信创名录内的安装介质. 一直忙于出差, 今天晚上趁着冬至回家比较早在家里进行 ...

  9. MySQL新增数据,修改数据,删除数据

    连接本地mysql语句 mysql -hlocalhost -uroot -proot DML-介绍 DML英文全称是:用来对数据库中表的数据记录进行 增 删 改 操作. 增加使用 insert 删除 ...

  10. js设置setAttribute、获取getAttribute、删除removeAttribute详细讲解

    setAttribute的理解 所有主流浏览器均支持 setAttribute() 方法. element.setAttribute(keys,cont) keys==>必需(String类型) ...