當你不在vim中插入更多內容時,如果你刪除了一些東西,它會自動進入剪貼板。這個剪貼板是否像堆棧一樣工作?vim剪貼板是一個堆棧嗎?如果是的話,我該如何粘貼來自該堆棧的複製數據?
如果剪貼板是一個堆棧,我怎麼能訪問這個堆棧先前的入口? 如果剪貼板不是堆棧,它是如何工作的?它可以在同一時間保存多個數據條目嗎?以及如何訪問它們?
我想要的是創建一個獲得此剪貼板堆棧中的第N個條目的宏(錄音)或者獲得一些數據項,如果他們可以被保存在內存中在同一時間。
當你不在vim中插入更多內容時,如果你刪除了一些東西,它會自動進入剪貼板。這個剪貼板是否像堆棧一樣工作?vim剪貼板是一個堆棧嗎?如果是的話,我該如何粘貼來自該堆棧的複製數據?
如果剪貼板是一個堆棧,我怎麼能訪問這個堆棧先前的入口? 如果剪貼板不是堆棧,它是如何工作的?它可以在同一時間保存多個數據條目嗎?以及如何訪問它們?
我想要的是創建一個獲得此剪貼板堆棧中的第N個條目的宏(錄音)或者獲得一些數據項,如果他們可以被保存在內存中在同一時間。
我不會說這是一個堆棧。它像堆棧一樣工作(用於刪除)。
我認爲你需要看看「編號的寄存器」。
Vim有0-9個編號的寄存器。如果你認爲它是一個堆棧,堆棧的大小是9(1-9)刪除。
猛拉東西分別存放在寄存器0和""
,無堆疊結構。
我說,它的工作原理「堆棧像」,但不能疊加(刪除),因爲,與堆棧數據結構,你不能隨意提取元素。你可以彈出或推動。但是對於vim的註冊,例如可以通過"1 "3 "5
獲得任何(0-9)元素,並保持「堆棧」不變。
閱讀:h registers
查看詳細。
系統剪貼板(寄存器"+
)不是堆疊,除非您使用外部工具(如ClipX在Windows,或Glipper上GNOME),以提供在操作系統級的歷史。
我想你是指默認的Vim寄存器。實際上,刪除和更改(至少一整行)被複制到編號爲的。當前刪除進入"1
,其內容移至"2
等。
有關詳細信息,請參見:help quote_number
。
像任何其他寄存器,則可以經由p
正常模式命令(例如"1p
)訪問它們,:put {reg}
,<C-r>{reg}
從插入模式,或經由getreg()
或@{reg}
編程。
的種類。
Vim使用寄存器進行拖放和刪除操作。
無名寄存器,""
,總是使用除非你明確地使用了「黑洞寄存器」。當你拔使用或不使用特定的寄存器刪除
數字編號的寄存器,"0-9
,使用。
的確切機制是有點棘手,所以我建議你看一看:h registers
這聽起來像你對我可能會尋找像[YankRing(HTTP插件:// WWW .vim.org /腳本/ script.php的?SCRIPT_ID = 1234)。 –
確實。 YankRing或[YankStack](http://www.vim.org/scripts/script.php?script_id=3834)。 – mMontu