vim宏用','替换\ n

时间:2013-04-06 14:40:41

标签: vim macros

我正在尝试保存一个将\n替换为,

的宏

输入:

978818
978818
900298
900272

输出:

'978818','978818','900298','900272'

当我使用 CTRL + R CTRL + R 保存宏时, B 在vimrc中它看起来如下:

let @b = ":%s/\n/','/g^MI'^[A~@kb~@kb^["

但是现在当我运行这个宏时,它输出为:

978818978818900298900272

和错误:

E486: Pattern not found: ','

不知道为什么要尝试匹配,

1 个答案:

答案 0 :(得分:2)

你可能需要逃避\ n。 vim认为你想要在字符串中的那个点上换一个换行符并用一个新的文字替换它。所以固定的宏应该是。

let @b = ":%s/\\n/','/g^MI'^[A~@kb~@kb^["

编辑:如果你想要一些你可以复制和粘贴的东西,我相信下面的宏等同于你想要的。

let @b = ":%s/\\n/','/g\nI'\e$xx"