whats Execute of VIM 中文 version

到目前为止,脚本内的语句都是由 Vim 直接运行的。用 ": execute" 命令可以执行一个
表达式的结果。这是一个创建并执行命令的非常有效的方法。
例如要跳转到一个由变量表示的标签:

:execute "tag " . tag_name
"." 被用来连接字符串 "tag " 和变量 "tag_name" 的值。假设 "tag_name" 的值为
"get_cmd",那么被将执行的命令将是:

:tag get_cmd
": execute" 命令只能用来执行冒号命令。":normal" 命令可以用来执行普通模式命令。
然而,它的参数只能是按表面意义解释的命令字符,不能是表达式。例如:

:normal gg=G
这个命令将跳转到第一行并以 "=" 操作符排版所有行。
为了使 ":normal" 命令也可以带表达式,可以把 ": execute" 与其连起来使用。
例:

:execute "normal " . normal_commands
变量 "normal_commands" 必须包含要执行的普通模式命令。
必须确保 ":normal" 的参数是一个完整的命令。否则,Vim 碰到参数的结尾就会中止
其运行。例如,如果你开始了插入模式,你必须也退出插入模式。这样没问题:

:execute "normal Inew text \<Esc>"
这将在当前行插入 "new text "。 注意 这里使用了特殊键 "\ <Esc>"。这样就避免了在你
的脚本当中键入真正的 <Esc> 字符。

如果你不想执行字符串,而想执行它作为表达式计算的结果,可以用 eval() 函数:

:let optname = "path"
:let optval = eval('&' . optname)
"&" 被加到 "path" 前面,这样传给 eval() 的参数成为 "&path"。这时得到的返回值就
是 'path' 选项的值。
相同的操作可以这样完成:
:exe 'let optval = &' . optname
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值