标签:假设 recording 用户 名称 viminfo inf 复制 转义 应该
概述
背景
环境
概述
宏
百度百科
宏就是一些命令组织在一起,作为一个单独命令完成一个特定任务
我的感觉
操作
# 查看
:reg
# 退出查看
键盘上任意键即可
reg
寄存器
宏
名称
存在
命令
: reg a
结果
概述
准备
文本
1
2
3
4
5
思路
操作
其他
录制步骤
定位到 第一行 行首
键盘依次输入
# 成功后, 左下角会有状态变化
# 显示 记录中/Recoding @a
q
a
使用 ctrl + a, 给数值 +1
将光标移到第二行行首
键盘输入
# 右下角提示消逝, 录制结束
q
查看
命令
结果
能找到如下记录
"a ^Aj
疑问
问题1: 进入后, 按 q 退出, 那我要是需要按 q 了, 怎么办呢?
问题2: 26 个宏如果用完了, 还想再加怎么办
问题3: 这个录制能暂停吗?
问题4: 录制宏的时候, 可以使用别的宏吗?
概述
目的
确认
操作
定位到 第二行 行首
依次输入
@
a
结果
疑问
概述
目的
操作
光标定位到 第三行
依次输入内容
# 用 @@ 也是可以的
3
@
a
结果
问题
概述
操作1: 指定单行
命令
# 假设我们想让 当前行 执行这个宏
: normal @a
# 假设我们想让 第4行 执行这个宏
:4 normal @a
# 结果我就略了
解释
操作2: 多行执行
命令
# 我想让 1 到 4 行执行这个宏
: 1,4 normal @a
# 结果我就略了
操作3: 匹配执行
命令
# 假设想要匹配某个 4 执行宏
# ex 的全局匹配, 本来应该先讲的, 以后补上
# 匹配到后, 光标会自动停在 4 的前面
# 感觉这个是一个很实用的操作了
: g/4/ normal @a
概述
操作1: v 模式下执行
进入 v 模式
选定多行
进入 EX 命令行
命令
# ‘<,‘> 是 v 模式下自带的, 没有问题
‘<,‘> normal @a
# 结果我就略了
概述
命令
# 对 宏a 追加
q + A
# 没错, 是 大写的A
# 输入追加操作
# q 退出
问题
概述
准备
概述
导出
# 导出 宏a
"ap
导入
# 光标放在行首
"ay$
概述
导出
# 导出 宏a
# 注意留意光标位置, 会额外生成一个 空行
put a
导入
# 有个坑, 就是 ctrl 直接复制过去, 会变成 ^, 无法生效
# 手动按会生效, 但是感觉这没啥意义...
let @a="<宏内容>"
# 但是如果这条路走通了, 就可以利用 vimrc 了
EX 命令里的 reg
通过 vimrc 可以将我们常用的宏, 导入到 vim 中
ref
后续
:reg
:normal
map/nmap
标签:假设 recording 用户 名称 viminfo inf 复制 转义 应该
原文地址:https://www.cnblogs.com/xy14/p/12804296.html