我的问题有意义吗?使用Vim或Emacs,您会发现接口公开了代码在缓冲区中编辑的文件状态的表示,该文件是可以填充缓冲区或写入缓冲区的磁盘存储.程序员知道的所有这些东西,但只是编辑文本时,它为什么暴露?任何新的编辑器都会告诉你"这是一个文件.编辑它."
是的,我理解技术含义,但这不是我的问题.这个问题甚至不是关于它是否是一个好主意.Vim和Emacs是我们今天常用的两个最古老的编辑器,他们分享这种行为.我知道没有新的编辑器做同样的事情.编辑何时停止这样做,为什么?
对于初学者来说,Emacs使用了大量与任何文件无关的缓冲区.每次打开目录,阅读邮件,打开终端,编译程序,启动交互式Python会话或连接到数据库,都会得到缓冲区.因此,Emacs的基本工作单元是缓冲区而不是文件,Vim也有同样的逻辑.
仅编辑文件的新应用程序没有区别,因为每个屏幕或窗口或选项卡直接表示文件.在这方面,像Emacs和Vim这样功能更强大的应用程序更加灵活.
好的,这是我奇怪的哲学答案:
因为编辑器中的缓冲区与您正在处理的实际具体事物之间的后期绑定,为编辑环境提供了更大的灵活性和功能.
认为这已经过时了?这个想法回归复仇的地方是在浏览器中,标签和网页之间没有1-1对应关系.相反,在每个标签内,您可以在多个页面之间向前和向后导航.没有人会尝试为网络制作MDI类型的界面,其中每个页面都有自己的内部窗口.使用它是不可思议的.它只是不会扩展.
就个人而言,我认为IDE现在变得过于复杂,文档和缓冲区之间的静态绑定是其中一个原因.我希望在某些时候会有一个突破,因为他们转向类似浏览器的选项卡缓冲模型,其中:
a)你将能够在同一缓冲区/标签内的多个文件之间进行超链接(并且会有一个后退按钮等)
b)通用缓冲区将能够保存任何类型的数据:源代码,命令行,动态生成的图形输出,项目大纲等.
换句话说,很多Vim/Emacs模型,除了调整以更接近浏览器正在发现的发现.
因为几个缓冲区可以显示同一文件的不同视图.我不知道其他编辑,但Emacs也是如此.你对Old的看法是什么意思?