我想創建一個快捷方式來追加到寄存器「+」(所以我可以在Vim之外做一個系統粘貼)。例如,我想做"+yy
複製一行,然後"=yy
將另一行追加到'+'寄存器。Vim:追加到特殊寄存器(例如+)
我找到了 VIM: how to append yanked text to unnamed register 我覺得應該很容易得到我想要的,但我不明白任何Vim腳本。
我想創建一個快捷方式來追加到寄存器「+」(所以我可以在Vim之外做一個系統粘貼)。例如,我想做"+yy
複製一行,然後"=yy
將另一行追加到'+'寄存器。Vim:追加到特殊寄存器(例如+)
我找到了 VIM: how to append yanked text to unnamed register 我覺得應該很容易得到我想要的,但我不明白任何Vim腳本。
你可以選擇任意的寄存器,說z
,給你做追加舞蹈,"zyy
然後"Zyy
,並且只爲「出口」是註冊創建一個快捷方式:
nnoremap <silent> <key> :<C-u>call setreg('+', getreg('z', 1), getregtype('z'))<CR>
(編輯按ZYX的)
不要使用':let'來複制寄存器內容:這裏有'setreg()'。要將'z'複製到'+',您需要'setreg('+',getreg('z',1,1),getregtype('z'))'。理由:1.':let'不保存寄存器類型(是的,即使你使用系統寄存器,Vim也會保存寄存器類型)2.'@ c'將NULs轉換爲換行符。 – ZyX
也許[this](http://vim.1045645.n5.nabble.com/how-to-copy-non-continuous-matched-lines-int-clipboard-td1164018.html#a1164021)將幫助,直到真正的專家出現! – jahroy