【问题标题】:How can I record a "(" in a macro in vsVim?如何在 vsVim 的宏中录制“(”?
【发布时间】:2015-07-11 16:08:26
【问题描述】:

我正在尝试录制一个宏,该宏将键入一小段包含括号“(”的文本,每当我尝试播放宏时,它都不会在结尾处键入“();”行。

我的猜测是宏中的括号可能有一些特殊含义,但就我而言,我只想输入“(”。

是什么破坏了我的宏?如何输入括号?

(注意:我使用的是Visual Studio vsVim plugin

编辑:我不记得确切的宏了,但大致如下:

q a 5 j ^ 2 w i .EndInit(); esc q

它应该在每 5 行附加 .EndInit();,但输出只是 .EndInit

注意,在其他机器上没有 resharper插件,这个问题不会发生!

【问题讨论】:

  • 什么是宏? ( 并不特殊
  • 这让我想知道 Visual Studio 或 resharper 在发送到 vsVim 之前是否正在“吃掉”括号,我注意到 vsVim 宏不适用于 Visual Studio 的自动完成功能(代码由 Visual Studio 完成不被 vsVim 记录)
  • 我不使用插件:echo @a 会返回什么吗?应该是宏的内容。
  • 我不在我的工作机器上,但试图在我的家用机器上复制这个问题(vsVim 没有 resharper),这个问题根本没有发生,并且回显返回了带括号的字符串,似乎是 resharper 的问题
  • @EduardoWada 这个问题需要 Visual Studio 专业知识才能回答,而不是 Vi 或 Vim 专业知识;对于这个问题,SO 是一个更好的地方:-)

标签: visual-studio resharper vsvim


【解决方案1】:

这里最可能的问题是 R# 正在吃( 击键。这意味着它永远不会进入 VsVim,因此不会被记录为宏的一部分。

以下问题跟踪清理此问题。它还将包括对 R# 的修复。

https://github.com/jaredpar/VsVim/issues/1393

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2013-03-31
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多