使用VIM編輯代碼時,通常會將終端分割成多個窗口,好處是可以邊改邊review,壞處是不能正常使用系統剪貼板
以gnome-terminal爲例,當你按下鼠標想複製右下子窗口內AudioConfig結構體的聲明到剪貼板時,意外的把左下子窗口的內容也選中了,這時按ctrl-shift-c得到的一定不是你想要的
爲什麼會這樣?
因爲這些子窗口是vim創立的,gnome-termianl並不知道它們的存在,子窗口邊界的哪些框框,對gnome-terminal來說不過就是vim的終端顯示內容,與子窗口內的字符無異,所以出現上圖那樣的”整行“複製
當然,可以使用v命令選中子窗口的內容,但選中後仍然無法將其複製到系統剪貼板
這裏就需要一個插件,叫vim-gui-common,可以將選中的內容複製到系統剪貼板
ubuntu下運行以下命令安裝
sudo apt-get install vim-gui-common
裝後運行:reg命令會看到多出2個寄存器,一個加號寄存器,一個減號寄存器
先使用v命令選中子窗口的內容,比如我選中之前說的AudioConfig結構體聲明
然後按以下組合鍵
"+y
就將選中的內容複製到系統剪貼板了,從上圖可以看到,加號寄存器的內容正是AudioConfig聲明,這時你就可以ctrl-v到gedit之類的應用了
其他方式以此類推
”+yy
複製一行內容到系統剪貼板
gg"+yG
複製文件全部內容到系統剪貼板