我有一个相当简单的问题,我无法找到答案,似乎无法为我工作.
我需要在Vim中追加多个文本文件(都在同一目录中).我需要在Vim中执行此操作的原因是我正在运行Windows并且无法访问*nix实用程序.
所有文件有一个模式在他们的名字(ex1.sql
,ex2.sql
,ex3.sql
).
我需要做的就是从它们中删除文本(按照它们在目录中的顺序),并将它们附加到一个新的空白文件中.
我已经制作了参数列表
:args ex*.sql
Run Code Online (Sandbox Code Playgroud)
并希望对所有args执行命令进入a
寄存器.
:argdo gg"AyG
Run Code Online (Sandbox Code Playgroud)
它表示从每个文件复制了这些行.
但是,当我将寄存器粘贴到新文件中时,没有打印任何内容.
:"ap
Run Code Online (Sandbox Code Playgroud)
所以我检查一下寄存器:
:reg
Run Code Online (Sandbox Code Playgroud)
该a
寄存器被填充有乱码(^]Jyecw?
).
有没有更好的方法来解决这个问题?为什么说它是复制到寄存器中,但实际上是在放入一堆奇怪的字符?
argdo
ex-mode
在参数列表的每个文件中执行命令.你想要做的gg"AyG
是执行一个normal
命令.尝试:
:argdo normal gg"AyG
Run Code Online (Sandbox Code Playgroud)