OP 假设了「不同编辑器除了操作方式 (ie. 接口) 以外没有实质区别」,但实际上不同的功能往往需要非常不同的内部实现。甚至相同的功能仅仅是不同的实现,在用户体验上都会有很大的区别。如 Emacs 的 display engine 高度可定制(参见 (elisp) Display Property),如果强行把它与 Lisp 剥离,会失掉很多玩法。
编辑器至少有 buffer 这一个共性,对吧?但即使是 buffer,也有不同的数据结构 (gap buffer, rope 等)。一个最简单的例子:一些编辑器支持超大文件编辑,而这几乎一定是要特殊实现的。
tl;dr: 我认为各编辑器之间的共性太少,还不足以「统一内部实现」。