[英]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.