vim--macro

时间:2022-07-15 17:01:34

例:

    qa
      some vim command
    q

这个宏只记录了vim命令到寄存器a中,执行这个宏可以用命令:

@a

也可以加上执行次数:

10@a

执行10次

当你执行过一次@a之后,你可以用

@@

来重复执行@a

当你发现存在某个寄存器的命令宏是错误的,你除了可以重新写一遍命令宏之外,还有如下修改方式:
1、先用G(大写)到文件末尾,然后用o(小写)新加一行,不要编辑,用ESC退出到普通模式,其实就是为编辑宏找了个地方。
2、使用命令

"ap

会看到寄存器a中的命令宏像文本一样出现在这一行,然后编辑这一行。编辑的时候与vim编辑其他的文件一样。编辑结束后用0(零)回到行首。

3、然后用

"ay$

将正确内容写到寄存器a中,最后删除这一行即可。

保存上述宏为文件,也是先使用 “ap打印出来 ,也可以赋值为

let @a="some command of macro of vim.^["

some Zen:

vi has 26 "marks" and 26 "registers”.

one way to cut an arbitrary selection of text would be to drop a mark。ma simply use d`a to cut or y`a to copy

use "add I'm cutting the current line into the 'a' register

:r!cat **Ctrl-V to paste from the OS clipboard** ^D

相关文章