我创建了一个带有范围(http://vim.wikia.com/wiki/Ranges)操作的宏,如:
:.,'bs/ .*$\n/ /ge^M
然后我想编辑它,我通常会使用let(http://vim.wikia.com/wiki/Macros#Editing_a_macro):
:let @b=':.,'bs/ .*$\n/ /ge^Mdd'
但是对于这些例子,'在宏定义中导致编辑失败。怎么解决这个?替换范围语法或定义时转义引号的方法。
我知道我可以重新录制宏,但实际版本要长得多!
答案 0 :(得分:3)
:let @b=':.,''bs/ .*$\n/ /ge^Mdd'
:let @b=":.,'bs/ .*$\\n/ /ge^Mdd"
:let
代替:put b
进入暂存缓冲区,然后再次"by$
再次进入寄存器。