【发布时间】:2018-06-26 23:28:55
【问题描述】:
Vim 如何“控制”终端并允许将其用作可修改的缓冲区?
使用像 c++(在 linux 中)这样的语言来创建我自己的可以任意修改终端使用的字符缓冲区的程序有多难?
【问题讨论】:
-
你可以试试ncurses:tldp.org/HOWTO/NCURSES-Programming-HOWTO
-
Vim 实际上使用
ncurses库来提供终端操作。可修改缓冲区本身只是内存中许多不同数据结构中包含的内容的终端表示,这些数据结构跟踪自上次保存以来的原始、新和修改的文本(以及自编辑会话开始以来的许多撤消步骤) .没有一个简单的可修改缓冲区(除了首先从磁盘加载或保存到磁盘的缓冲区)。我不知道 ncurses 或 Vim 源代码是否这样做,但一些目标搜索应该揭示这种方法。 -
Vim 是免费的开源软件;看代码。