在1个vim缓冲区中编辑多个文件

时间:2013-05-04 19:14:26

标签: python ruby vim

我正在制作一个vim脚本来记笔记,它应该是标签识别。 因此,当我添加一个注释时,它应该出现在所有正确的部分下面,如下所示:

example

为了避免制作相同文本块的大量副本并不断扫描缓冲区以进行更改,我希望每个注释只有一个文本文件并在正确的部分打开它们。在这种情况下,它将在“cat facts”和“anatomy”部分下打开〜/ notes / BFC49jl8.txt。

然后当我进行更改时,一切都应该像编辑任何普通文件一样更新,所以如果我删除一个句子,它会更新如下:

example2

如何在1个缓冲区中打开不同的文件? (或者有更好的方法吗?)使用python或ruby很好。

更新:我继续并在vimscript中没有任何数据结构的情况下实现了这一点。我稍后会用python优化它:)现在它只有非常基本的功能,但它涵盖了我的需求。 Github linkupdated

2 个答案:

答案 0 :(得分:1)

你要求的是绝对不可能的,因为缓冲区是文件的内存中表示。您不能在一个缓冲区中拥有多个文件。

使用:r在当前缓冲区中插入另一个文件的内容很容易,但是一旦操作完成,就不会保留插入文本原点的内存,因此不能进行同步。

如果您需要该功能,则必须自己编写代码并找到一种方法来跟踪和同步“主”缓冲区和较小文件/缓冲区中的更改,从根本上设计您自己的数据结构。这对我来说听起来并不是微不足道的。也许不是我们能在快速回答中为您写的东西。

有没有一个特定的原因,你不能简单地使用单个文件/缓冲区,如在组织模式或一些大纲?而且,你在问之前做过一些研究吗?

答案 1 :(得分:1)

您可能会成功使用QFixHowm,这是Emacs howm工具的一个端口。不幸的是,它上面的大部分页面都是日文版,但我可以理解其主页的谷歌翻译版本。