命令行效率
回忆上节课内容🤔
总结
- 我们上次研究的是范围命令执行方法
- 批量控制缩进
: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 >
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