Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim Can';t在宏执行过程中拖动/粘贴寄存器_Vim - Fatal编程技术网

Vim Can';t在宏执行过程中拖动/粘贴寄存器

Vim Can';t在宏执行过程中拖动/粘贴寄存器,vim,Vim,我有一个文件,我需要对其进行大量编辑,该文件如下所示: hello[link](#hello) world[link](#world) 最后我想说: <a name="hello"></a> hello[[link](#hello)] <a name="world"></a> world[[link](#world)] 你好[链接](#你好)] 世界[链接](#世界)] 现在,我的宏看起来如下所示。通过/link手动移动光标后: wwy

我有一个文件,我需要对其进行大量编辑,该文件如下所示:

hello[link](#hello)

world[link](#world)
最后我想说:

<a name="hello"></a>
hello[[link](#hello)]

<a name="world"></a>
world[[link](#world)]

你好[链接](#你好)]
世界[链接](#世界)]
现在,我的宏看起来如下所示。通过
/link
手动移动光标后:

wwyt)O


它一直工作到我需要从美国佬的登记簿上粘贴,在这一点上它就死了。我还尝试用
“*y
/
”*p
指定寄存器,但运气不佳。你知道发生了什么事吗?我怎样才能摆脱它?

以下是你可以尝试的:

  • 转到文件的第一个字符(
    gg
  • 开始录制宏(
    qq
  • ywi
    Enter
  • 停止录制宏并应用于其他行

此命令将按照您的规则转换所有非空行

g/./s#\v([^[]*)(.*)#<a name="\1"></a>\r\1[\2]#
g//s#\v([^[]*)(.*)\r\1[\2]#

显然,它是不相关的,只是能够做到这一点。它一定是由于其他原因失败的。显然,它一定与我的自定义映射有关(使用
jk
而不是