command - vimscrimpt 中的转义命令

标签 command vim

任何人都可以帮助我如何放置 <esc> vimscript 中的命令以便从插入视觉模式(选择模式)切换到视觉模式?

这是我的脚本:

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

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

我试着把 <esc>上面脚本中的命令,但它不起作用。

最佳答案

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

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

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

( \<Esc> 也有效,但 \e 输入速度更快)。我认为没有理由在这里有两个正常的命令
execute "normal! \e\egvy"

.但我仍然想知道你如何调用这个脚本?如果没有这些信息,上述内容很可能被证明是完全无用的。

PS:我完全同意@romainl 的观点,即使用简易模式,而且在简易模式下使用鼠标是完全错误的使用 vim 的方式。

关于command - vimscrimpt 中的转义命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320762/

相关文章:

python - 在继续运行脚本的同时从python脚本退出命令

Vim JSDoc、PHPDoc、JavaDoc、RDoc 信息

workflow - 在VIM中编辑HTML时跳转到CSS定义

vim - Vim 脚本中函数参数的默认值

vim - 编辑类似字符串的最佳方法是什么?

Ruby 在特定目录下运行 shell 命令

c - 下一个 shell 提示符后显示 Unix 命令输出

Linux 命令 df 提取 "name"和 "available space"

node.js - Discord 机器人不响应命令

脚本 : How do I save and restore a register?