Content #
有Python文件如下:
max = 10
print "Starting"
for i in range(max):
print "Counter:", i
print "Done"
执行Vim命令如下:
:execute "normal! gg/for .+ in .+:\<cr>"
并不能高亮for语句所在的行,究其原因,默认magic模式下的"+“号是需要转义的。命令应修改如下:
:execute "normal! gg/for .\\+ in .\\+:\<cr>"
因execute接收的是字符串,需要用”\\“来表示”\"。
Vim单引号表示Literal String,将命令更改如下:
:execute 'normal! gg/for .\+ in .\+:\<cr>'
转义符是对了,但"<cr>“也不再表示换行符了。正确做法是使用字符拼接:
:execute "normal! gg" . '/for .\+ in .\+:' . "\<cr>"
交叉使用单引号与双引号。
使用Very Magic的解决办法如下:
:execute "normal! gg" . '/\vfor .+ in .+:' . "\<cr>"