命令行效率

回忆上节课内容

总结

  • 我们上次研究的是范围命令执行方法
  • 批量控制缩进

    • :20,40>
  • 批量执行普通模式下的命令

    • :4,10normal A;
  • 直接切换到全屏命令模式 ex-mode

    • Q
  • 执行外部命令

    • !javac oeasy.java
  • 这个方式真的很爽!

    • vi 什么都干了!
  • 命令模式本身可以再提高效率吗?

列出历史

使用历史命令

  • 在输出命令时

    • 方向键️️️️️可以控制左右移动
    • shift+️️️️️按照word左右移动光标
    • ctrl+b 到开头begin
    • ctrl+e 到结尾end
    • ctrl+w 向前删除一个word

      • 这个要特别注意,有的浏览器关闭标签页
      • 我用火狐一点问题没有
    • ctrl+u 删除到开头
  • 方向键↑️↓️️️可以翻阅历史命令

    • 也可以先输入:h s再按下↑️
    • 可以根据已经有的内容找出

      • :h scrolloff
      • :h shiftwidth
  • 想要列出所有命令历史怎么办?

命令历史

  • 我们可以列出所有执行过的命令:history

  • :h his[tory]可以找到 commandline.txt
  • 可以按照类型查看历史

    • :his c:his : 命令类历史
    • :his s:his /:his ? 搜索类历史
    • :his e:his = 表达式寄存器类
    • :his i:his @ 输入行类
    • :his d:his > debug类
  • 可以加范围

    • :his 2,5 2-5行命令历史
    • :his / 3,9 查询类命令历史的3-9
    • his -5,-1 最新的5
  • 总共可以保存多少条命令呢?

命令数量

  • :set history&

    • 还原为默认历史命令
  • :set history?

    • 查看这数量是多少?
    • 50
  • 设置更多命令历史记录

    • :set history=1000

直接修改命令

  • 命令行模式下 ctrl+f
  • 或者正常模式下

    • q: 查询所有命令
    • q: 查询所有搜索命令

新窗口

  • 这个窗口有历史的命令

    • 可以移动
    • 可以修改
  • 回车后执行光标所在行的命令
  • 执行后

    • 历史的命令不被修改
    • 新增一条最新的命令历史记录
  • 我能在命令行里复制粘贴么?

使用寄存器

  • 我能在命令行里复制粘贴么?
  • 可以查询手册:h c_ctrl-r

    • 查询命令模式下的ctrl+r
    • 这和插入模式下使用寄存器一致
    • 都是ctrl+r
    • 然后再指定寄存器
  • 这样我们就可以在命令行里面使用寄存器了

  • 我们先看看寄存器里面有什么?

    • :reg

具体操作

  • :进入命令行模式

    • 然后ctrl+r
    • 然后如果我们这个时候摁下"
    • 就把默认寄存器里面的内容放入了命令行中
  • 如果我们再:

    • 然后ctrl+r
    • 摁下%就把文件名放入了命令行中
    • 比如:!javac 的时候可以用这种方法把当前文件名输入到命令行中
  • 不过还是直接最简单:!javac %

总结

  • 命令行的运行光标控制

    • 方向键️️️️️可以控制左右移动
    • shift+️️️️️按照word左右移动光标
    • ctrl+b 到开头begin
    • ctrl+e 到结尾end
    • ctrl+w 向前删除一个word

      • 小心关闭窗口!
    • ctrl+u 删除到开头
  • 历史命令的遍历

    • 方向键↑️↓️️️
  • 命令行的历史记录

    • :history
    • :his -5
    • :his s
  • 进入命令历史记录编辑

    • 命令行状态下 ctrl+f
    • 或者正常模式下 q:
    • 选择、编辑、回车
  • 使用寄存器

    • 命令行状态下 ctrl+r
    • 然后输入寄存器的名称就可以了
  • 命令模式可以读写文件吗?
  • 下次再说

[Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。)

[Gitee地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)

oeasy教您玩转vim - 50 - # 命令行效率的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  5. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

  6. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

  7. 手把手教你打造高效的 Kubernetes 命令行终端

    Kubernetes 作为云原生时代的操作系统,熟悉和使用它是每名用户的必备技能.本文将介绍一些提高操作 Kubernetes 效率的技巧以及如何打造一个高效的 Kubernetes 命令行终端的方法 ...

  8. 教程一 openwrt路由器入门 远程命令行+文件系统

    如图,拿到一个openwrt路由器我们第一步要远程控制. 这里在买了两块wifi-robots  wifi视频模块. 0首先说下这个WIIF的信息 淘宝购买链接 https://item.taobao ...

  9. 常用vim编辑器命令行

    按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并退出v ...

  10. [转]让你提升命令行效率的 Bash 快捷键

    生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率. 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) ...

随机推荐

  1. 流式响应Web小工具实践

    作为一位拥有多年经验的老程序员,我对于提升Web应用性能和用户体验有些兴趣.今天,我要和大家聊聊一个非常实用的技术--流式响应(Streaming Response). 首先,流式响应到底是什么呢?简 ...

  2. HTML——文件上传域

    文件上传是网站中一种常见的功能.例如百度网盘.QQ 邮箱以及有道云笔记都可以实现文件的上传.在 HTML 中,把 <input> 标签的 type 属性设置为 file 就可以实现上传文件 ...

  3. .NET Core 中使用GBK GB2312编码报错的问题

    错误描述 环境 dotnet core 2.1 2.2   dotnet core 3.1 dotnet core 5.0 现象 当代码中使用 System.Text.Encoding.GetEnco ...

  4. linux服务器下安装cbc和ipopt求解器【踩坑总结】

    安装CBC求解器 CBC求解器是一个C++库,我们可以通过以下命令在Linux系统中进行安装: sudo apt-get install coinor-cbc 对于Windows操作系统,可以从CBC ...

  5. 在Rainbond上部署高可用Apollo集群

    一.背景信息 当前文档描述如何通过云原生应用管理平台 Rainbond 一键安装高可用 Apollo 集群.这种方式适合给不太了解 Kubernetes.容器化等复杂技术的用户使用,降低了在 Kube ...

  6. vue带有参数的路由跳转 动态路由

    先定义好路由在router文件下面创建一个新的文件夹里面写上自己定义的路由 export default {   path: '/detail/:id',   component: () =>  ...

  7. SpringMVC 流程?

    a.用户发送请求至前端控制器 DispatcherServlet. b.DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器. c.处理器映射器找到具体的处理器 ...

  8. 增补博客 第八篇 python 中国大学排名数据分析与可视化

    [题目描述]以软科中国最好大学排名为分析对象,基于requests库和bs4库编写爬虫程序,对2015年至2019年间的中国大学排名数据进行爬取:(1)按照排名先后顺序输出不同年份的前10位大学信息, ...

  9. 订单请求接口设计,避免timeout超时问题 下单解决

    订单请求接口设计,避免timeout超时问题 下单解决 接上篇:外部系统对接下单幂等性校验逻辑及接口超时处理 https://www.cnblogs.com/oktokeep/p/17668039.h ...

  10. idea导入maven项目发现有jar或插件无法下载检查idea中的maven配置,maven配置文件中需配置阿里云的镜像地址

    D:\apache-maven-3.2.3\conf\settings.xml <mirrors> <mirror> <id>nexus-public-snapsh ...