2010-10-28 25 views
6

,我試圖做不能在gVim的多次使用的宏更GVIM

q 2 dd j q 

然後

@2 

在幾個點以後。它第一次工作(這意味着當我輸入@2時,vim會刪除三行並向下移動),但隨後的任何時候,屏幕都會閃爍,並且光標向下移動一次。

有沒有我需要在vimrc或什麼東西來允許這個宏的設置?

+0

我看到了問題,但它似乎爲我工作,當我使用'q'而不是'2'的宏寄存器... – 2010-10-28 06:34:02

+0

@Stefan Mai嗯,我也是。使用數字作爲寄存器不正確或什麼?我知道它在我的工作機器上工作,只是不在家(但無法訪問我的工作機器來查看配置) – 2010-10-28 06:40:29

回答

14

發生什麼事是Vim使用Numbered registers來存儲最近使用yank和delete命令所做的更改。這將從寄存器中擦除您的宏。

作爲一般性建議,在錄製宏時避免使用數字寄存器。

+0

很高興知道,謝謝。 – 2010-10-28 06:41:58

+0

+1我最近也偶然發現了這個問題,並且花了一些時間才找出導致問題的宏名稱使用數字。現在我知道爲什麼:) – 2010-10-28 08:00:09

+0

似乎每個我記錄的宏都需要保存到一個寄存器......我希望有一個更方便的方法來完成它。最好的人可以期望的是'宏觀最佳實踐'。我找不到任何寄存器用戶特有的東西(顯然這值得關注!)。但是我愛上了Vim wiki的提示,所以,插入:http://vim.wikia.com/wiki/Macros – dsummersl 2010-10-30 13:21:43