4

我正在尝试编写一个脚本,该脚本将在 vim 中打开一个文件并将其中的特定行复制到 vim 的一个寄存器中。当脚本再次运行时,它将决定再次打开文件,然后将 vim 寄存器中的值粘贴回去。实际上,脚本应该在每次运行时切换值。

例如,假设我想在运行脚本时将单词“foo”切换为“bar”,然后在再次运行脚本时再次切换回“foo”。我可以通过以下方式获得 foo 这个词:

vim '+/foo' myfilename

而且我知道当我在 vim 中时,我可以通过执行将 'foo' 加载到寄存器 'q' 中

"qyy

但是使用 :reg 检查我的寄存器时,以下命令不起作用

vim '+/foo' '+"qyy' myfilename

我究竟做错了什么?谢谢!

4

1 回答 1

6

您正在尝试在命令行模式下执行普通模式命令(这就是 +arguments 的意思)。执行您想要的操作的正确命令行是:

vim '+/foo' '+normal "qyy' myfilename

有关:help +cmd此类论点的详细说明,请参阅 。

于 2012-07-22T13:11:06.407 回答