我想製作一個自定義的單鍵Vim映射,它可以用來開始將宏記錄到未命名的寄存器(q"
)並停止記錄宏(q
)。我可以從Vim腳本函數中檢測Vim宏錄製模式,並在Vim宏錄製模式下調用此函數嗎?
我可以從Vim腳本中檢測Vim是否處於錄製模式?
如果檢測到錄製模式是可能的,如果我的功能將在錄製模式中被喚起(停止錄製),是否會有任何問題?我的意思是,函數調用是否會被記錄在宏內?
我想製作一個自定義的單鍵Vim映射,它可以用來開始將宏記錄到未命名的寄存器(q"
)並停止記錄宏(q
)。我可以從Vim腳本函數中檢測Vim宏錄製模式,並在Vim宏錄製模式下調用此函數嗎?
我可以從Vim腳本中檢測Vim是否處於錄製模式?
如果檢測到錄製模式是可能的,如果我的功能將在錄製模式中被喚起(停止錄製),是否會有任何問題?我的意思是,函數調用是否會被記錄在宏內?
您可以使用映射到q"<esc>
。假設你只在正常模式下開始記錄(並且沒有設置insertmode
),這將只是你想要的。
嗯,我不建議這樣做,因爲開始錄音只有兩個按鍵,您可以靈活地選擇一個寄存器。
這就是說,你可以這樣做。我不知道一個辦法直接 檢測記錄模式,但你可以創建一個映射,將重新映射 本身上的每個按鍵,從而開始交替和停止 記錄:
" Helper mappings
nnoremap @{ :nmap ; @}<CR>qq
nnoremap @} q:nmap ; @{<CR>
" Toggle recording
nmap ; @{
" Playback
nnoremap , @q
選擇你自己的鑰匙地圖,因爲你最適合。
此外,我不建議使用"
作爲錄音寄存器:太 很容易覆蓋。
嘿Vimmers,有人知道答案,或者是什麼? – Alexey
你可以舉一個例子測試用例嗎?由於它只需要兩次擊鍵,爲什麼你需要一個宏? – SibiCoder
@SibiCoder我想用同樣的鑰匙開始和停止錄音。 – Alexey