JSRUN 用代码说话

执行normal!

编辑教程

执行normal!

既然已经学了execute和normal!,我们就可以深入探讨一个Vimscript惯用法。 执行下面的命令:

:execute "normal! gg/foo\<cr>dd"

这将移动到文件的开头,查找foo的首次出现的地方,并删掉那一行。

之前我们尝试过用normal!来执行一个搜索命令却无法输入必须的回车来开始进行搜索。 结合execute和normal!将解决这个问题。

execute允许你创建命令,因而你能够使用Vim普通的转义字符串来生成你需要的"打不出"的字符。 尝试下面的命令:

:execute "normal! mqA;\<esc>`q"

这个命令做了什么?让我们掰开来讲:

:execute "normal! ...":执行命令序列,一如它们是在normal模式下输入的,忽略所有映射, 并替换转义字符串。
mq:保存当前位置到标记"q"。
A:移动到当前行的末尾并在最后一个字符后进入insert模式。
;:我们现在位于insert模式,所以仅仅是写入了一个";"。
\<esc>:这是一个表示Esc键的转义字符串序列,把我们带离insert模式。
`q:回到标记"q"所在的位置。

看上去有点绕,不过它真的很有用:它在当前行的末尾补上一个分号并保持光标不动。

在写Javascript,C或其他以分号作为语句分隔符的语言时,一旦忘记加上分号,这样的映射将助你一臂之力。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟