我正在尝试编写一个脚本,它将在vim中打开一个文件并将其中的特定行复制到vim的一个寄存器中。当脚本再次运行时,它将决定再次打开文件,然后将值粘贴到vim的寄存器中。实际上,脚本应该在每次运行时切换值。
例如,假设我想在运行脚本时将单词“foo”切换为“bar”,然后再次运行脚本再返回“foo”。我可以通过以下方式得到foo这个词:
vim '+/foo' myfilename
我知道当我进入vim时,我可以通过
将'foo'加载到寄存器'q'中"qyy
但是在使用以下命令检查寄存器时,以下命令不起作用:reg
vim '+/foo' '+"qyy' myfilename
我做错了什么?谢谢!
答案 0 :(得分:6)
您正尝试在命令行模式下执行正常模式命令(这就是+参数的含义)。执行所需操作的正确命令行是:
vim '+/foo' '+normal "qyy' myfilename
有关此类论点的详细解释,请参阅:help +cmd
。