有人可以帮助我如何在vimscript中放置<esc>
命令,以便从插入视觉模式(选择模式)切换到可视模式吗?
这是我的剧本:
if a:type == "'<,'>"
normal! "\<esc>\<esc>"
normal gvy
let myvariable= @+
endif
解释:
我选择了一段文字。 (我现在在插入视觉模式(=选择模式))
我必须在可视模式中选择相同的文字
如果没有vimscript,我只需要在正常模式下按<esc>
命令和命令gv
两次,再次重新选择选择,这次我处于可视模式。 / p>
我尝试将<esc>
命令放在上面的脚本中,但它不起作用。
答案 0 :(得分:3)
调用:normal
的语法完全错误。
normal! "\<Esc>\<Esc>"
将在正常模式下执行14个字符,它们都不是转义字符:normal不接受表达式。你必须使用
execute "normal! \e\e"
(\<Esc>
也可以,但\e
输入速度更快。我认为没有理由在这里有两个正常的命令,所以
execute "normal! \e\egvy"
。但是我仍然想知道你做了什么来调用这个脚本?如果没有这些信息,上述内容可能会被证明是完全没用的。
PS:我完全同意@romainl使用简易模式,而且在简易模式下使用鼠标是完全错误的使用vim的方法。答案 1 :(得分:2)
你首先在插入视觉模式中做什么?您是否在“简单”模式下使用GVim并使用鼠标?有更好的方式......
无论如何,您可以使用<Esc><Esc>
代替<C-g>
从选择模式转到视觉模式。
如果没有更多关于目标的背景信息,我无法确定,但我认为您正在做一些不必要的复杂事情。