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