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. 【VSCode】秒下vscode

    有时从vscode官网下载速度奇慢甚至失败,介绍一种方法可以秒下 进入官网选择要下载的版本 像我的电脑,下载网址根本打不开 修改下载网址,替换下载地址中红框字符串:vscode.cdn.azure.c ...

  2. [转帖]龙叔学ES:Elasticsearch XPACK安全认证

    https://juejin.cn/post/7081994919237287950 本文已参与「新人创作礼」活动,一起开启掘金创作之路. Elasticsearch往往存有公司大量的数据,如果安全不 ...

  3. [转帖]Spring Cloud Alibaba Nacos 注册中心使用教程

    一. 什么是Nacos Nacos是一个更易于构建云原生应用的动态服务发现(Nacos Discovery ).服务配置(Nacos Config)和服务管理平台,集注册中心+配置中心+服务管理于一身 ...

  4. 飞腾2000+上面银河麒麟v10 安装virt-manager创建虚拟机的操作过程

    操作系统安装完之后自带了repos 就可以执行大部分操作, 不需要修改包源 ###Kylin Linux Advanced Server 10 - os repo### [ks10-adv-os] n ...

  5. docker -- images镜像消失问题排查

    1. 问题描叙 安装model-serving组件时,错误日志输出push时对应的tag不存在,导致镜像推送失败 2. 问题排查 # 找到对应镜像,尝试手动推送 docker images|grep ...

  6. js 保留两位小数不进行四舍五入

    保留两位小数不进行四舍五入 // 保留小数n位,不进行四舍五入 // num你传递过来的数字, // decimal你保留的几位,默认保留小数后两位 app.config.globalProperti ...

  7. golang实现的 https 协议的四层代理和七层代理

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 四层代理 在 tcp 这一层转发很简单. http 协议是 ...

  8. ABP Vnext 微服务 常见问题

    1.token问题 原因:拿token和认证token的服务器不一致 2.minio访问报错 minio错误 S3 API Request made to Console port. S3 R 解决方 ...

  9. pycharm alt+f7(查找)显示动态用法的结果过多(dynamic usages)

    在脚本语言中查找引用时,如果有同名函数,在动态用法那一栏会出现大量的结果,,如何缩小或者动态用法(dynamic usages)的结果呢? 在官网上也有提出了这个问题,但官方没有给出答案issue:P ...

  10. 若依、vue三级路由缓存失败

    router.beforeEach((to, from, next) => { NProgress.start() if (getToken()) { // 三级菜单组件无法缓存问题 if (t ...