vim - 为什么 vim 中的某些命令需要冒号而有些则不需要?

标签 vim

vim 中的一些命令是通过首先键入冒号 (:) 给出的,例如 . :wq 用于保存文件和退出。虽然某些命令不需要冒号,例如替换命令 (R)。我想知道这两种方法有什么区别?对于哪些需要冒号,哪些不需要,是否有任何具体规则?

最佳答案

您必须查看 history of vi ,Vim的前身,做个说明。很久以前,当必须使用键盘和连接的打印机(称为终端)进行文本编辑时,没有鼠标,除了纸张之外没有其他显示器,因此几乎没有交互性。通过名为 ex 的编辑器,编辑由简短的助记命令组成。您发出了一条或几行的命令(例如 :substitute/foo/bar ),编辑器服从了。如果您不确定命令的效果,您可以 :print一些线。

时间过去了,视频终端出现了,vi 编辑器合并了 ex 命令(因为它们有用而且程序员已经习惯了),但引入了更多交互命令,如删除(x)、插入(i)和很快。 ex 命令在命令行模式下仍然可用,它以 : 开头。 ,并以 Enter 结束。

Vi 和 Vim 在这方面很特别,因为它们有这些不同的模式,其中相同的键意味着不同的东西,这取决于一个人所处的模式。 要精通 Vim,您必须了解不同的模式,以及如何最好地使用以实现您的编辑目标。
:help vim-modes为您提供优秀而全面的帮助设施的起点。

关于vim - 为什么 vim 中的某些命令需要冒号而有些则不需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14051712/

相关文章:

text - Vim搜索而不会覆盖“/注册

vim 功能只能在第一次正常工作

VIM 和 Scala -- 缩进问题?

regex - ag Silver Searcher : rules for lookahead/lookbehind patterns?

vim - 应用 vimrc 更改而不重新启动

Vim E139 : Workaround

tags - 如何在 Vim 中禁用标签的 TAB 补全?

vim - 如何在 Vim 中进行类似于 "grep -w"的全字搜索

mysql - 将 ` 与 ( 组合时,正则表达式的行为会令人困惑

vim - Bash:如何生成具有序号的行?