siv*_*udh 6 vi vim text-editor
我一直是狂热的Vim用户,最近对它的运作方式产生了兴趣.
有谁知道是否有一个教程可以解释将普通文本编辑器转换为具有Vi/m功能的基础知识?编程语言并不重要; 我是一位经验丰富的程序员.
到目前为止,我找到了以下资源:
我想首先你应该知道VI/VIM实际上是两个部分.一个是可视化编辑器vi,另一个是单行编辑器ed.
实际上它vi被称为可视化编辑器,因为它建立在ed(编辑器)之上.它是ex模式的可视部分,您可以在其中查看和编辑文本,这就是为什么它从视觉中获得名称vi.
在EX模式实际上是编辑器的复制/表示ed.只需启动ed终端并使用默认的Vi ex命令.的视觉,替换和插入模式是通过使用vi.例如,有几个命令实际上做同样的事情,例如:
:100 // Go to line 100, ex mode (ed)
100G // Go to line 100, normal mode(vi)
:.,5d // Delete 5 lines, ex mode (ed)
5dd // Delete 5 lines, normal mode (vi)
Run Code Online (Sandbox Code Playgroud)
等等...
有关这方面的更多信息,我建议阅读来自O'Reilly 的优秀书籍学习vi和Vim编辑:

作为一名经验丰富的 Vi 用户,您会知道,主要有两个关键方面使其与其他(可视)编辑器不同: - 输入模式Esc以及:在它们之间切换的常用方式 - 上下文键盘映射,其中多个按键会构建一个命令
我见过很多人将 Vi 键盘映射的子集添加到现有编辑器中,虽然可以合理地映射一些内容,但获得模拟可能需要相当广泛地替换现有编辑器的键盘处理。
当然,键盘映射有相当详细的文档,因此实施起来应该不会太困难。
接下来的事情是实现命令模式。这取决于您要修改哪个编辑器来实现此目的,但我想将焦点更改为底部的永久小部件/控件。一旦焦点位于该控件上,您就可以轻松处理输入,然后在按下回车键时解析和处理命令。
命令模式的基本语法继承自 ed/sed 编辑器,因此您可以查找其实现(或论文)。
总而言之,获得一个看起来很像 vi 的表面实现并不是一项艰巨的工作。但真正做得好又是另一回事了。我建议你认真考虑使用优秀的 Vim ( http://www.vim.org/ )。