vim中的一些命令是通过首先输入冒号(:)来给出的.:wq用于保存文件并退出.虽然某些命令不需要冒号,例如Replace命令(R).我想知道这两种方法有什么区别?关于哪些需要冒号而哪些不需要冒号,是否有任何具体规则?
Ing*_*kat 37
您必须查看Vim的前身vi的历史,以获得解释.很久以前,当用键盘和连接的打印机(称为终端)进行文本编辑时,除了纸张之外没有鼠标,没有显示,因此交互性很小.编辑由一个名为ex的编辑器组成的短的助记符命令组成.你发出了一个命令来解决一行或几行(例如:substitute/foo/bar),并且编辑服从了.如果您不确定命令的效果,可以使用:print某些行.
时间过去了,视频终端出现了,vi编辑器结合了ex命令(因为它们很有用,程序员习惯了它们),但引入了更多交互式命令,如delete(x),insert(i)等.ex命令仍然可以在命令行模式下使用,该模式以#开头:并以Enter.
Vi和Vim在这方面是特别的,因为它们具有这些不同的模式,其中相同的键意味着不同的东西,具体取决于所处的模式.为了精通Vim,您必须了解不同的模式,以及如何最好地使用他们实现了你的编辑目标.
:help vim-modes 为您提供优质而全面的帮助设施的起点.
rom*_*inl 14
"不需要"冒号的命令称为"正常(模式)命令".
"需要"冒号的命令称为"Ex命令".
作为模态编辑器的Vim 有许多与你所处模式相关的命令.最明显的效果是在不同的上下文中使用相同的键可能会产生不同的结果.
在插入模式下,键盘上的大多数键用于在文档中实际输入字符.
你必须切换到正常模式来拉动,放置,删除,移动你的光标... 正常模式是你做激光聚焦编辑的地方Vim很有名,并使用命令dcggsi/.*等等.
通过按正常/*可视*模式进入命令行模式.它通常用于两件事::
:m10或:t1或:g/foo/d......您可以在此模式下使用的许多命令是(非常强大的)Vim过去的残余,并称为Ex命令.
简而言之,普通模式命令和Ex命令都不以冒号开头.冒号只是用来改变模式.