由于我对现有编辑器总是不满意,所以我一直想开始的一个项目就是我自己的文本编辑器。然而,做文本编辑是一项严肃的工作。
除了分析现有文本编辑的源代码外,是否有关于这一主题的书籍或其他资源(如学术著作)?我特别感兴趣的是一些教我如何处理内存和如何管理文本插入的东西(如果您有一个100 MB的文件,并且想在x位置添加一个字符,您就不能只是memmove这个巨大的文本块.)。
发布于 2010-07-02 22:44:11
看看罗布派克对他的Sam文本编辑器的描述。一定要浏览通过高级概述和命令语言。在后面的文章中,他描述了解析、内存管理和数据结构。
另外,看看Russ的简单正则表达式实现。它很容易跟踪,并且可以打开现有正则表达式库之外的一些门。
发布于 2010-07-02 22:35:11
这些年来,我写了很多不同的文本编辑器。当然,最简单的方法是管理一个很长的字符序列,您可以复制周围的所有内容来插入任何字符。我使用过的其他技术包括:
许多旧的Borland示例书都使用文本编辑器作为教程示例。你偶尔还可以在二手书店找到这些书的副本,几乎免费。
发布于 2012-01-06 22:01:26
这里有一个很好的教程,涵盖了更现代背景下的许多相关主题:
对这个问题的其他回答包括空白缓冲。
另一个现代报道是对AvalonEdit的描述
及额外的详细资料如下:
书中有大量的细节/内容(关于SharpDevelop):
https://stackoverflow.com/questions/3169440
复制相似问题