【发布时间】:2011-03-11 07:29:12
【问题描述】:
因为我总是对现有的编辑器不满意,所以我一直想开始的一个项目是我自己的文本编辑器。然而,进行文本编辑是一项严肃的工作。
除了分析现有文本编辑器的源代码之外,是否有任何关于此主题的书籍或其他资源(如学术工作)?我特别感兴趣的是教如何处理内存和如何管理文本插入的东西(如果你有一个 100 MB 的文件并想在 x 位置添加一个字符,你不能只是 @ 987654322@巨大的文本块...)。
【问题讨论】:
-
文本编辑器有什么用?桌面、网络、....控制台?
-
不确定一般的问题,但是对于插入的具体问题,很多编辑把文字当成绳子处理:en.wikipedia.org/wiki/Rope_%28computer_science%29
-
@Bart:一个简单的无格式文本编辑器,但是我猜文本编辑器的基本规则即使对于富文本文字处理器也很好。我的目标是非基于 Web 的编辑器,但是我再次认为,即使对于基于 Web 的编辑器和任何语言(尽管我会用 C++ 编写代码),相同的核心理论也是有效的。
-
Kernighan 和 Plauger 所著的古老的“Pascal 软件工具”用一种既没有真正的字符串也没有指针的语言实现了
ed编辑器。它包含对任何文本编辑器背后的设计注意事项的一个很好的概述。 -
@msw:谢谢,请考虑将其添加为回复,以便对其进行投票!
标签: data-structures editor text-editor theory