@
msg7086 “Sublime 下用 vi 模式” 不足以推断是否是在用 vi,尤其如果采用了嵌入终端窗口的情况下,vi 根本没这功能,搜到的就是 “请用 screen 在外面套一层”。
忒修斯之船不仅仅在讨论逐步替换,而是在讨论事物的本质(在于其组织方式而非组成成分)。
不是 “vim 从一开始就不存在了”,而是说 “Vi IMitation” 是 vi 的实现,到 “Vi IMproved” 成为 vi 的超集(同时成为兼容 vi 的接口 vim 和官方实现 vim ),其中含义发生了一次变化,而具体的改名,则是将这一迭代的变化固定为概念的变化。
另外,实际上我上面所说的话中 “vi” 基本是在指 posix 中的 vi,它是一个接口而非特定的实现。
接口和实现的高度一致容易让人混淆,比如 “Python 运行效率慢”,是以 CPython 为依据的,但没有考察 Cython (不考虑写 C++ 替换代码)和 PyPy 的运行效率,在预热后能够和纯原生代码相比。但 Python 的语言设计组织同时制作了参考实现,导致了此种混淆。
所以 C/C++ 系统内就没这事,但又有新标准不能立即被用上的弊端。
所以 Lisp 大法好,有什么新特性在老系统上就直接写个实现就行了。