我想知道是否有可能在vim中複製文本時觸發方法。 這個方法應該在所有的YANK事件上觸發,所以覆蓋「YY」和「YIW」的鍵盤映射不是我的答案(因爲你知道,我們不能寫入無限數量的鍵盤映射,如「yfx」,「y3l」等等)捕獲yank事件並觸發vim腳本中的方法
對於任何你有誰的答案,我也想問另一個問題。在yank事件的回調方法中,我可以知道哪些文本被抽出了嗎? (例如第10行,從第3個字符到第8個字符)
我想知道是否有可能在vim中複製文本時觸發方法。 這個方法應該在所有的YANK事件上觸發,所以覆蓋「YY」和「YIW」的鍵盤映射不是我的答案(因爲你知道,我們不能寫入無限數量的鍵盤映射,如「yfx」,「y3l」等等)捕獲yank事件並觸發vim腳本中的方法
對於任何你有誰的答案,我也想問另一個問題。在yank事件的回調方法中,我可以知道哪些文本被抽出了嗎? (例如第10行,從第3個字符到第8個字符)
我認爲你需要爲你的插件採取替代方法。
最後一個儲存在@0
寄存器中,所以如果你監視寄存器的變化,你可以檢測到什麼時候有新的被抽出。
使用CursorHold,CursorHoldI和/或CursorMoved autocmd將@0
的當前值與存儲的值進行比較,並更新存儲的值並在發生更改時執行高亮操作。
請注意,如果用戶爲他們的手指指定了特定的已命名註冊表,則這將不起作用。你也可以監控所有這些;或者映射和以捕獲從v:register
使用的寄存器並監視該寄存器;然而這些寄存器通常用於宏,刪除等以及放大。
非常感謝您的詳細解答。 – Ryo
你想用這些信息做什麼? (我認爲獲取這些信息並不容易,但我們可能會告訴你如何做最後要做的事情) – FDinoff
感謝您的回覆。即時通訊想要製作一個插件來突出顯示被抽出的單詞。 – Ryo