3

谁能帮助我如何<esc>在 vimscript 中输入命令以便从插入可视模式(选择模式)切换到可视模式?

这是我的脚本:

  if a:type == "'<,'>" 
    normal! "\<esc>\<esc>"
    normal gvy
    let myvariable= @+
  endif

说明
我选择了一段文字。(我现在处于插入视觉模式(=选择模式))
我必须在视觉模式下选择相同的文本。
如果没有 vimscript,我只需按两次<esc>命令和gv正常模式下的命令即可再次重新选择选择,这次我处于可视模式

我试图将<esc>命令放在上面的脚本中,但它不起作用。

4

2 回答 2

3

您的调用语法完全错误:normal

normal! "\<Esc>\<Esc>"

将在正常模式下执行 14 个字符,它们都不是转义字符:正常不接受表达式。你必须使用

execute "normal! \e\e"

\<Esc>也可以,但\e打字速度更快)。我认为没有理由在这里有两个正常的命令,所以

execute "normal! \e\egvy"

. But I am still wondering what you do to invoke this script? Without this information the above is likely to prove being completely useless.

PS: I completely agree with @romainl that using easy mode and, more, using mouse in easy mode is completely wrong way of using vim.

于 2012-11-10T11:38:28.843 回答
2

你首先在插入视觉模式下做什么?您是否在“简单”模式下使用 GVim 并使用鼠标?还有更好的方法……</p>

无论如何,<Esc><Esc>您可以使用<C-g>选择模式转到视觉模式。

如果没有更多关于您的目标的背景,我无法确定,但我认为您正在做一些不必要的复杂事情。

于 2012-11-10T09:33:45.557 回答