2012-11-01 99 views
2

這可能是一個愚蠢的問題,但我想我也分享我的經驗。在vim宏中循環ex命令

在錄製一個宏時,我試圖使用前面所做的ex命令,通過向上箭頭循環它們。我的宏在某處破了,我假設這是因爲這個宏正在記錄擊鍵,而不是我執行的內容?

如果是這樣,是否有解決方法?

+1

如果你的避風港更新已經,您可能會發現命令行窗口有助於瀏覽歷史記錄。 ':h q:'或':h q /'會向你展示更多。 – darcyparker

回答

5

你是對的,宏是你輸入內容的文字記錄,所以你必須小心一點。使用完成Ex命令選項卡可能比使用增加回憶整個歷史記錄項目更有效。

您可以查看錄製的宏(爲寄存器Q EG)內容:

:new 
:put q 

然後,您可以甚至編輯宏,並通過0"qy$

:let @q = getline('.') 
+1

有':reg q'查看。它還突出顯示特殊字符。 – ZyX

+1

和'0'qy $'替代'getline('。')'以防某些人想要在緩衝區中編輯寄存器,但不想輸入那個'setline'或者最終在'getline'中添加''註冊結束時(如果是「qyy」)。除了'q'外,這個命令還會修改yank和默認的寄存器。 – ZyX

+0

這在我的回答中已經提到,但我很感謝您投入的精力,使其更有用。感謝您的許多好的貢獻! –