2017-01-03 54 views
0

任何人都可以向我解释为什么在使用:normal命令时为什么没有扩展缩写?正常命令的缩写扩展

:iabbrev mw Microwave 
:normal! imw 

,我得到

毫秒

我缺少什么?

回答

2

这就是normal!所做的。从:help :normal

如果给出了[!],则不会使用映射。

如果您使用:normal imw(不含!),它将按照您的预期工作。

一般来说,您应该始终使用:normal!来自其他人(即插件)重复使用的脚本,因为您永远无法确定人们正在使用哪些映射; :normal imw可能会插入文字imw,退出vim,制作WHOOOOOOP WHOOP声音,牺牲你的长子到贾斯汀比伯等。

+0

@CodieCodeMonkey无论我做什么,我都无法得到'normal!'来扩展缩写,只有没有'!'(我再次测试确定,并且对我来说不起作用)。我不希望它也能工作,因为这不是'正常!'应该如何工作。所以要么你有一个版本的Vim有一个bug(使用8.0.86),或者你错了:-) – Carpetsmoker

+0

+1为你的解决方案,我撤回了我的反对意见。不知道为什么我的版本与你的版本有点不同,':正常!我真的很适合我。我在Vim8上,也许有变化? –

+0

@CodieCodeMonkey嗯,很奇怪。无论我尝试什么,我都无法使用Vim 8.0.86。 – Carpetsmoker