当前位置:  开发笔记 > 编程语言 > 正文

为什么像Vim和Emacs这样的旧编辑器会在界面中暴露文件和缓冲区之间的区别?

如何解决《为什么像Vim和Emacs这样的旧编辑器会在界面中暴露文件和缓冲区之间的区别?》经验,为你挑选了3个好方法。

我的问题有意义吗?使用Vim或Emacs,您会发现接口公开了代码在缓冲区中编辑的文件状态的表示,该文件是可以填充缓冲区或写入缓冲区的磁盘存储.程序员知道的所有这些东西,但只是编辑文本时,它为什么暴露?任何新的编辑器都会告诉你"这是一个文件.编辑它."

是的,我理解技术含义,但这不是我的问题.这个问题甚至不是关于它是否是一个好主意.Vim和Emacs是我们今天常用的两个最古老的编辑器,他们分享这种行为.我知道没有新的编辑器做同样的事情.编辑何时停止这样做,为什么?



1> Kirk Strause..:

对于初学者来说,Emacs使用了大量与任何文件无关的缓冲区.每次打开目录,阅读邮件,打开终端,编译程序,启动交互式Python会话或连接到数据库,都会得到缓冲区.因此,Emacs的基本工作单元是缓冲区而不是文件,Vim也有同样的逻辑.

编辑文件的新应用程序没有区别,因为每个屏幕或窗口或选项卡直接表示文件.在这方面,像Emacs和Vim这样功能更强大的应用程序更加灵活.


编辑文件的新应用程序没有区别,因为每个屏幕或窗口或选项卡直接表示文件.在这方面,像Emacs和Vim这样功能更强大的应用程序更加灵活.
要添加到此,至少在Emacs中,您可以拥有两个具有相同文件内容的缓冲区(间接缓冲区).然后,您可以为每个缓冲区设置不同的主要模式,并且像我经常那样,对它们进行不同的缩小.如果文件和缓冲区具有硬编码的一对一对应关系,则这是不可能的.

2> interstar..:

好的,这是我奇怪的哲学答案:

因为编辑器中的缓冲区与您正在处理的实际具体事物之间的后期绑定,为编辑环境提供了更大的灵活性和功能.

认为这已经过时了?这个想法回归复仇的地方是在浏览器中,标签和网页之间没有1-1对应关系.相反,在每个标签内,您可以在多个页面之间向前和向后导航.没有人会尝试为网络制作MDI类型的界面,其中每个页面都有自己的内部窗口.使用它是不可思议的.它只是不会扩展.

就个人而言,我认为IDE现在变得过于复杂,文档和缓冲区之间的静态绑定是其中一个原因.我希望在某些时候会有一个突破,因为他们转向类似浏览器的选项卡缓冲模型,其中:

a)你将能够在同一缓冲区/标签内的多个文件之间进行超链接(并且会有一个后退按钮等)

b)通用缓冲区将能够保存任何类型的数据:源代码,命令行,动态生成的图形输出,项目大纲等.

换句话说,很多Vim/Emacs模型,除了调整以更接近浏览器正在发现的发现.



3> stephanea..:

因为几个缓冲区可以显示同一文件的不同视图.我不知道其他编辑,但Emacs也是如此.你对Old的看法是什么意思?

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有