vim跨程序复制粘贴
习惯了在windows环境各个应用程序之间如UltraEdit,记事本,eclipse之间ctrl c,ctrl v进行复制粘贴的你,如何在vim与别的windows应用程序之间拷贝粘贴呢?
当然你可以在vim里选择用鼠标,选中一块文字然后右键复制,再到应用程序里ctrl v粘贴,只不过这样效率就差多了。
更好的做法是,在vim中使用"*y使用进行复制,然后在应用程序中用ctrl v粘贴。
从应用程序到vim则在应用程序中使用ctrl c复制,在vim中使用shift insert粘贴。
如:
"*yy复制一行
"*y2w复制二个词
……
实现的原理是:
" 表示使用寄存器
"* 表示使用当前选择区
不过这个功能实现需要用vim而不是vi,并且要编译时打开x寄存器
例如apt-get install vim-gui-common
7. Selection and drop registers "*, " and "~ Use these register for storing and retrieving the selected text for
the GUI. See |quotestar| and |quoteplus|. When the clipboard is not available or not working, the unnamed register is
used instead. For Unix systems the clipboard is only available when the | xterm_clipboard| feature is present. {not in Vi}
Note that there is only a distinction between "* and " for X11 systems. For an explanation of the difference,
see |x11-selection|. Under MS-Windows, use of "* and " is actually synonymous and refers to the |gui-clipboard|.
另外还有一个终端也是会影响交互的,终端也是注意复制粘贴的是否有冲突.