部分操作會將相關資訊暫存備用,例如 d 掉的文字會被放進 register 變數,以便之後貼上。

執行 vim script(例如自訂的 map)時若做了這類操作,便可能把本來的 register 等資料蓋掉。以下幾個 function 先將暫存資訊另存,以供 script 結束後還原。

原始碼

gist: 555806 - [.vimrc] simple functions to save/restore position, register or mark.

使用例

:call PosStash(1)   " 暫存目前游標位置
:call PosStash()    " 還原游標位置
:call RegStash(1)   " 暫存目前 register
:call RegStash()    " 還原 register
:call MarkStash(1)  " 暫存目前 mark
:call MarkStash()   " 還原 mark