VIM - EX 命令行 - 查看历史记录
-
概述
- VIM EX命令 与 搜索 历史
-
背景
-
初学 VIM 时候遇到的窘境
- 退出 VIM 失败
- 刚开始学的退出方法, 是
:q
- 结果手一滑, 打成了
q:
- VIM 没有退出, 并且出现了一个没见过的窗口
- 刚开始学的退出方法, 是
- 等熟练使用 VIM 之后, 那个一不留神打开的窗口, 我就再也没见过了
- 慢慢地, 那个窗口被我遗忘了...
- 退出 VIM 失败
-
EX 命令行
- 后来, 慢慢开始使用 EX 命令行
- 虽然
ctrl + n/p
可以查看曾经输入过的命令, 但还是有些不方便- 如果有个更加友好的历史记录, 就好了...
- 其实, 这个是真的存在的
-
-
环境
- OS
- win10
- shell
- mintty-2.9.4
- OS
1. EX 命令行历史
- 概述
- EX 命令行历史
1. 打开
-
前提
- 标准模式
-
操作
q + :
-
结果
- 在 vim 底部, 出现一个窗口
- 窗口里, 是 当前用户 所有 EX 命令的历史记录
-
文件位置
# 这个文件里, 其实有很多的 信息, 这个以后再说 ~/.viminfo
2. 退出
-
前提
- 打开 EX 命令行历史
-
操作方式1
-
操作
# 直接退出 :q
-
结果
- 返回之前的窗口
- 依然是 标准模式
-
-
操作方式2
-
操作
1. 将光标移动到最后一行 2. 直接敲回车
-
结果
- 返回之前的窗口
- 依然是 标准模式
-
3. 移动
-
前提
- 打开 EX 命令行历史
-
操作
- 就和 普通vim 窗口一样操作即可
- 上下移动
- 左右移动
- : 跳行
- //?查询内容
- 具体操作, 我就略了
- 就和 普通vim 窗口一样操作即可
-
结果
- 正常移动
4. 编辑
-
前提
- 打开 EX 命令行历史
-
操作
- 常规编辑
-
结果
- 无法保存
-
注意
- 不推荐通过修改 .viminfo 来修改历史记录
5. 执行
-
前提
- 打开 EX 命令行历史
-
操作
跳转到需要 重复的命令 的位置 敲一下回车
-
结果
- 命令被重新执行一次
6. 好处
- 历史给我们的好处
- 操作记录
- 让我们知道自己干过什么事
- 方便执行
- 重复的命令, 可以不用手打
- 脚本支持
- 文本化的历史, 可以经过提炼, 获得脚本, 反复执行
- 操作记录
2. 搜索历史
-
概述
- 搜索也是有类似历史功能
-
搜索
- 标准模式下的 / 和 ?
1. 打开
-
前提
- 标准模式
-
操作
q + / q + ?
-
结果
- 在 vim 底部, 出现一个窗口
- 窗口里, 是 当前用户 所有 搜索的历史记录
-
文件位置
# 还是在这里 ~/.viminfo
2. 退出
-
前提
- 打开 搜索历史
-
操作方式1
-
操作
# 直接退出 :q
-
结果
- 返回之前的窗口
- 依然是 标准模式
-
-
操作方式2
-
操作
1. 将光标移动到最后一行 2. 直接敲回车
-
结果
- 返回之前的窗口
- 依然是 标准模式
-
3. 移动
- 略
- 同 EX 命令行历史
4. 编辑
- 略
- 同 EX 命令行历史
5. 操作
-
前提
- 打开 搜索历史
-
操作
1. 将光标移动到 需要搜索 的记录 2. 直接敲回车
-
区别
- / 进入, 是 向后搜索
- ? 进入, 是 先前搜索
3. 其他
- 问题
- 容量
- 我目前不知道, 最大能有多大...
- 容量
ps
-
ref
- Vim 小技巧:卧槽我是怎么把命令行历史记录列表按出来的
- 灵感的来源跟我一样
- 挺巧的哈
- Vim 小技巧:卧槽我是怎么把命令行历史记录列表按出来的
-
后续
-
.viminfo 有很多内容, 回头整理一下
- 内容
- 相关操作
-
这次误打误撞, 触发了一个叫做 记录中 的状态
- 查了下发现居然是 宏录制?
- 卧槽? 奇怪的知识又要增长了?
- 查了下发现居然是 宏录制?
-
尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出