设置:具有多个选项卡、窗口和缓冲区的 Vim 会话。
目标:制作 Ex 命令,将选定文本从活动缓冲区发送到会话中的另一个缓冲区(最好使用自动完成)。我的意思是文本被附加到目标缓冲区的末尾。
示例:假设您在一个名为的缓冲区中apple
,并且在另一个选项卡中命名了另一个缓冲区banana
。您突出显示要发送到的文本banana
(例如,包含文本“asdf”的行,然后键入:'<,'>append ban<TAB>
,vim 将自动完成文本到:append banana
。按回车后,vim 将字符串“asdf”从中剪切并附apple
加到末尾banana
.
我最接近的是:'<,'>!cat >> banana
; 然而,这只适用于香蕉与苹果在同一个工作目录中的情况,并且它无法使用现有的缓冲区名称自动完成。
有没有办法构建一个 vim 脚本/viml 函数来做到这一点?