为什么这个vim宏不起作用?

时间:2016-03-17 20:17:15

标签: vim macros

我有一个看起来大致如下的文件:

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

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

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

我发现了问题。我安装了vim-hardtime以减慢移动速度。我原以为它会被宏禁用,但结果却并非如此。