我發現它能夠在Vim中使用宏是多麼方便。特別是用q
進行錄音,但我很困惑如何讀取正在錄製的寄存器中存儲的內容。Vim如何在寄存器中顯示宏?
舉一個具體的例子,我使用Vim寫了很多LaTeX文檔,並且在這方面我製作了一個宏,它在當前行的開頭放置了一個%
,這樣代碼就被註釋掉了。我通過錄制如下進行。我按下了鑰匙q
u
首頁i
%
Escq
。現在通過按@u
我可以播放該宏,因爲我使用了這個宏,我決定把它放在我的.vimrc
文件中。我看了一下這個主題,發現我必須使用Ctrl + V來抓取我使用的擊鍵,例如轉義鍵。我
let @u='^[OHi%^['
其中I產生與^OH
Ctrl鍵+V主頁和^[
與Ctrl鍵 + VEsc鍵。現在,當我啓動Vim寄存器的內容u
是^[OHi%^[
,因爲它應該是,但如果我剛剛錄製的宏與q
,則寄存器會讀
<80>khi%^[
我試圖理解這是什麼意思。它做同樣的事情,但如果我嘗試在Vim的(更準確地說:help key-notation
,:help i_CTRL-V
和:help i_CTRL-V_digit
)諮詢一些幫助頁面後使用按Ctrl +V寫類似的東西,但我還是不明白。
我希望瞭解這一點的動機是我希望能夠閱讀我錄製的宏是什麼。如果我瞭解寄存器的內容是如何產生的,那麼我可以通過產生類似的結果來理解它。例如,如果我錄製宏遵循相同的語法使用按Ctrl +V當作爲然後我可以檢查哪些按Ctrl +V加上最有可能產生的按鍵,看看哪一個相匹配。
不是你的問題的答案,但你應該嘗試使用'0'而不是''。這會爲你節省一個'ctrl-v'。 –
skeept
2012-07-18 19:11:21
雖然很榮幸自己嘗試一下:我認爲書呆子評論者也支持LaTeX:http://www.vim.org/scripts/script.php?script_id=1218 – eckes 2012-07-18 20:16:24