execute与normal!

execute与normal!

Content #

看下面的normal命令:

:normal! gg/a<cr>

执行后光标只会移到文件头部,并不会去搜索字符"a",原因是normal!命令无法识别像"<cr>“这样的特殊字符。

execute命令读取VimScript字符串后,会在执行前替换特殊字符。比如”\r"会被替换为"carriage return"。上面的命令就可以改写成:

:execute "normal! gg/a<cr>"

From #