编辑文本缓冲区

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (39)

我想构建一个简单的文本编辑器(使用我自己的文本模式屏幕处​​理)。我只想要一个可用于表示文本缓冲区的数据结构的示例,以及char / text插入/删除的一些简单示例。我可以自己处理所有其他代码(文件I / O,控制台I / O等)。

提问于
用户回答回答于

我不确定这是否适用或您计划支持哪些平台,但Neatpad系列教程是开始考虑编写文本编辑器的好地方。他们专注于Win32作为基础平台,但许多经验教训将适用于任何地方。

用户回答回答于

我曾经为一家主要产品是文本编辑器的公司工作。虽然我主要为它编写脚本语言,但编辑本身的内部设计当然是讨论的主要话题。

它似乎被分解为两大思路。一个是你自己存储每一行​​,然后将它们链接在一个链接列表或你满意的其他整体数据结构中。其优点是任何面向行的编辑操作(例如删除整行或在文件中移动行块)都非常容易实现,因此闪电般快速。不利的一面是加载和保存文件需要更多的工作,因为你必须遍历整个文件并构建这些数据结构。

当时的另一个思路是尽量保持文本的大块,而不管换行时是否有换行符,只有在编辑时才将其分开。优点是可以非常容易地将未经编辑的文件大块地文件发布到文件中。在加载文件,更改一行和保存文件的简单编辑中,速度非常快。缺点是面向行或列块操作执行起来非常耗时,因为你必须解析这些文本块并移动大量数据。

我们始终坚持面向行业的设计,无论价值如何,我们的产品被认为是当时速度最快的编辑之一。

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问8 回答
  • uncle_light

    5 粉丝518 提问7 回答
  • 富有想象力的人

    3 粉丝0 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答

扫码关注云+社区

领取腾讯云代金券