如何從 vim 中選擇所有副本並將其貼到其他程式(例如郵件用戶端)?

如何從 vim 中選擇所有副本並將其貼到其他程式(例如郵件用戶端)?

我該如何執行以下操作?

從 vim 複製所有文字並將其貼上到外部程序,例如郵件 Outlook?我嘗試過+ygg*yG但粘貼不起作用。

答案1

這需要 vim 具有 X11 剪貼簿整合。您可以透過執行vim --version和查找來檢查這一點+xterm_clipboard+clipboard不是嗎,那是為了使用 GUI,這實際上可能是您所追求的,問題沒有指定 GUI 或終端)。

如果您沒有+xterm_clipboard,則需要取得具有該功能的 vim 版本(或自行重新編譯)。

如果你擁有它,那就太棒了。讓我們繼續吧。

X11有2個「剪貼簿」。有選擇緩衝區,然後是真正的剪貼簿。選擇緩衝區是突出顯示/中鍵單擊的東西。剪貼簿是普通的CTRL+C/CTRL+V。
若要將目前行複製到選擇緩衝區中,請執行"*yy。 (是的,那就是 shift+quote shift+8 yy)
要複製到剪貼板,請執行"+yy.
(您可以在視覺模式下使用其他選擇說明符,例如"+yG、 或)"+y

如果您想將其中之一設為預設值,那麼您可以直接執行yy,無需"+/"*位,您可以將以下內容之一添加到您的~/.vimrc

set clipboard=unnamed

或者

set clipboard=unnamedplus

您沒有指定是否遠端存取計算機,但如果是,您仍然可以執行此操作,但您需要打開 X11 轉送並在 SSH 中工作。不過我會警告你,這可能會導致 vim 需要幾秒鐘才能啟動。

相關內容