当前位置:首页 > IT技术 > 系统服务 > 正文

oeasy教您玩转vim - 50 - # 命令行效率
2021-09-30 10:34:07

命令行效率

回忆上节课内容🤔

总结

  • 我们上次研究的是范围命令执行方法
  • 批量控制缩进
    • :20,40>
  • 批量执行普通模式下的命令
    • :4,10normal A;
  • 直接切换到全屏命令模式 ex-mode
    • Q
  • 执行外部命令
    • !javac oeasy.java
  • 这个方式真的很爽!
    • vi 什么都干了!
  • 命令模式本身可以再提高效率吗?🤔

列出历史

使用历史命令

  • 在输出命令时
    • 方向键<kbd>⬅️️</kbd><kbd>➡️️️</kbd>可以控制左右移动
    • <kbd>shift</kbd>+<kbd>⬅️️</kbd><kbd>➡️️️</kbd>按照word左右移动光标
    • <kbd>ctrl</kbd>+<kbd>b</kbd> 到开头begin
    • <kbd>ctrl</kbd>+<kbd>e</kbd> 到结尾end
    • <kbd>ctrl</kbd>+<kbd>w</kbd> 向前删除一个word
      • 这个要特别注意,有的浏览器关闭标签页
      • 我用火狐🦊一点问题没有
    • <kbd>ctrl</kbd>+<kbd>u</kbd> 删除到开头
  • 方向键<kbd>↑️</kbd><kbd>↓️️️</kbd>可以翻阅历史命令
    • 也可以先输入:h s再按下<kbd>↑️</kbd>
    • 可以根据已经有的内容找出
      • :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 &gt; debug类
  • 可以加范围
    • :his 2,5 2-5行命令历史
    • :his / 3,9 查询类命令历史的3-9
    • his -5,-1 最新的5
  • 总共可以保存多少条命令呢?

命令数量

  • :set history&
    • 还原为默认历史命令
  • :set history?
    • 查看这数量是多少?
    • 50
  • 设置更多命令历史记录
    • :set history=1000

图片描述

直接修改命令

  • 命令行模式下 <kbd>ctrl</kbd>+<kbd>f</kbd>
  • 或者正常模式下
    • <kbd>q</kbd><kbd>:</kbd> 查询所有命令
    • <kbd>q</kbd><kbd>:</kbd> 查询所有搜索命令

图片描述

新窗口

  • 这个窗口有历史的命令
    • 可以移动
    • 可以修改
  • 回车后执行光标所在行的命令
  • 执行后
    • 历史的命令不被修改
    • 新增一条最新的命令历史记录
  • 我能在命令行里复制粘贴么?

使用寄存器

  • 我能在命令行里复制粘贴么?
  • 可以查询手册:h c_ctrl-r
    • 查询命令模式下的<kbd>ctrl</kbd>+<kbd>r</kbd>
    • 这和插入模式下使用寄存器一致
    • 都是<kbd>ctrl</kbd>+<kbd>r</kbd>
    • 然后再指定寄存器
  • 这样我们就可以在命令行里面使用寄存器了

图片描述

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

具体操作

图片描述

  • :进入命令行模式
    • 然后<kbd>ctrl</kbd>+<kbd>r</kbd>
    • 然后如果我们这个时候摁下<kbd>"</kbd>
    • 就把默认寄存器里面的内容放入了命令行中
  • 如果我们再:
    • 然后<kbd>ctrl</kbd>+<kbd>r</kbd>
    • 摁下<kbd>%</kbd>就把文件名放入了命令行中
    • 比如:!javac的时候可以用这种方法把当前文件名输入到命令行中
  • 不过还是直接最简单:!javac %

总结

  • 命令行的运行光标控制
    • 方向键<kbd>⬅️️</kbd><kbd>➡️️️</kbd>可以控制左右移动
    • <kbd>shift</kbd>+<kbd>⬅️️</kbd><kbd>➡️️️</kbd>按照word左右移动光标
    • <kbd>ctrl</kbd>+<kbd>b</kbd> 到开头begin
    • <kbd>ctrl</kbd>+<kbd>e</kbd> 到结尾end
    • <kbd>ctrl</kbd>+<kbd>w</kbd> 向前删除一个word
      • 小心关闭窗口!😱
    • <kbd>ctrl</kbd>+<kbd>u</kbd> 删除到开头
  • 历史命令的遍历
    • 方向键<kbd>↑️</kbd><kbd>↓️️️</kbd>
  • 命令行的历史记录
    • :history
    • :his -5
    • :his s
  • 进入命令历史记录编辑
    • 命令行状态下 <kbd>ctrl</kbd>+<kbd>f</kbd>
    • 或者正常模式下 <kbd>q</kbd><kbd>:</kbd>
    • 选择、编辑、回车
  • 使用寄存器
    • 命令行状态下 <kbd>ctrl</kbd>+<kbd>r</kbd>
    • 然后输入寄存器的名称就可以了
  • 命令模式可以读写文件吗?🤔
  • 下次再说 👋

[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

本文摘自 :https://blog.51cto.com/u

开通会员,享受整站包年服务立即开通 >