首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本编辑理论

文本编辑理论
EN

Stack Overflow用户
提问于 2010-07-02 22:23:15
回答 10查看 12.2K关注 0票数 50

由于我对现有编辑器总是不满意,所以我一直想开始的一个项目就是我自己的文本编辑器。然而,做文本编辑是一项严肃的工作。

除了分析现有文本编辑的源代码外,是否有关于这一主题的书籍或其他资源(如学术著作)?我特别感兴趣的是一些教我如何处理内存和如何管理文本插入的东西(如果您有一个100 MB的文件,并且想在x位置添加一个字符,您就不能只是memmove这个巨大的文本块.)。

EN

回答 10

Stack Overflow用户

发布于 2010-07-02 22:44:11

看看罗布派克对他的Sam文本编辑器的描述。一定要浏览通过高级概述和命令语言。在后面的文章中,他描述了解析、内存管理和数据结构。

另外,看看Russ的简单正则表达式实现。它很容易跟踪,并且可以打开现有正则表达式库之外的一些门。

票数 18
EN

Stack Overflow用户

发布于 2010-07-02 22:35:11

这些年来,我写了很多不同的文本编辑器。当然,最简单的方法是管理一个很长的字符序列,您可以复制周围的所有内容来插入任何字符。我使用过的其他技术包括:

  • 将文本文件表示为文本行的双链接列表。
  • 构造一个类似树的数据结构(有时称为“绳”,它从一个坚实的字符字符串开始,但可以拆分、插入和删除文本块,而不必移动所有其他文本。

许多旧的Borland示例书都使用文本编辑器作为教程示例。你偶尔还可以在二手书店找到这些书的副本,几乎免费。

票数 15
EN

Stack Overflow用户

发布于 2012-01-06 22:01:26

这里有一个很好的教程,涵盖了更现代背景下的许多相关主题:

  • Win32文本编辑器的设计与实现

对这个问题的其他回答包括空白缓冲。

另一个现代报道是对AvalonEdit的描述

  • http://www.codeproject.com/KB/edit/AvalonEdit.aspx

及额外的详细资料如下:

  • http://wiki.sharpdevelop.net/AvalonEdit.ashx
  • http://danielgrunwald.de/coding/AvalonEdit/document.php
  • http://danielgrunwald.de/coding/AvalonEdit/rendering.php

书中有大量的细节/内容(关于SharpDevelop):

  • http://www.icsharpcode.net/opensource/sd/insidesharpdevelop.aspx
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3169440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档