oeasy教您玩转vim - 50 - # 命令行效率
命令行效率
回忆上节课内容🤔
总结
我们上次研究的是范围命令执行方法
批量控制缩进
: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 scrolloff
:h shiftwidth
也可以先输入
:h s
再按下↑️可以根据已经有的内容找出
想要列出所有命令历史怎么办?
命令历史
我们可以列出所有执行过的命令
: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地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)