繁体   English   中英

这个vim宏怎么不起作用?

[英]How come this vim macro doesn't work?

我有一个大致如下所示的文件:

field :t, :type => String, :as => :timestamp
field :b, :type => String, :as => :test

index({ :t => 1 })
index({ :b => 1 })

我将光标放在第4行,并记录以下宏:

/: <CR> viwyma?field: ctrl-r 0, <CR> $ F:lviwy`aviwpj ^

因此,搜索一个冒号,然后转到那里,选择整个单词(在这种情况下为t ),在a上创建一个标记,向后搜索字段,后跟一个冒号,寄存器0( t )中的单词,然后是逗号。 转到该行的末尾,向左移动一个字符,选择整个单词,将其拉出,返回到a标记,选择整个单词,粘贴我刚拉过的内容( timestamp ),然后转到下一行以及第一个非空白字符(因此我可以立即再次运行宏)。

之后,第4行就是我所期望的index({ :timestamp => 1 })然后,我尝试再次运行宏,第5行成为index({ :: => 1 })

谢谢!

我发现了问题。 我安装了vim-hardtime,以使移动速度变慢。 我以为它将对宏禁用,但事实并非如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM