2017-01-03 24 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