问题:如何把vim中的内容粘贴到外部?如gedit,wps等。
现阶段,我写C语言代码的时候大多数是用vim编辑器,但是有一个问题就是:有的时候想把写的代码复制出来,提交到OJ系统进行检查评测,那么,问题来了,如何才能把代码从vim中复制出来,粘贴到博客或者是gedit等文档编辑器?经过网上大量搜索,终于找到了解决问题的办法。具体方法如下:
查看当前vim是否支持clipboard
1.在终端输入命令:
vim --version | grep "clipboard"
2.如果clipboard前面的标记是一个减号,那么就说明当前vim编辑器不支持“把文档粘贴到外部”这一功能。(注:因为我前边已经配置过了,所以我的编辑器显示的是+clipboard,但是对于大多数人,没有进行下面几个步骤的话,显示的一般为“-clipboard”)
安装图形化界面vim
1.如果显示“-clipboard”,则需要安装图形化界面的vim,或者重新编译vim;如果显示“+clipboard”,这一步骤就不需要操作了。
sudo apt install vim-gnome
2.如果执行完上述安装命令后再执行:
vim --version | grep "clipboard"
下面是介绍如何进行粘贴复制操作
1.系统剪贴板
“*y
“+y
“+2yy – 复制两行
{Visual}”+y – copy the selected text into the system clipboard
【注:这一个选项是我经常使用的,注意是在Visual视图进行操作,双引号一定不要漏了。我刚开始时,一直没有加双引号,导致复制之后,在外部粘贴时一直没有反应,浪费了不少时间。我一般会选择全选代码,那么我执行的操作详细过程可以如下:Shift+v(进入VIsual视图),ggVG(代码全选),Shift+”,shift++,y。整个看来复制操作的代码就是:”+y,相当于Ctrl+c】
“+y{motion} - copy the text specified by {motion} into the system clipboard
:[range]yank + - copy the text specified by [range] into the system clipboard
2.剪切到系统剪贴板
“+dd – 剪切一行
从系统剪贴板粘贴到vim
“*p
“+p
Shift+Insert
:put + – Ex command puts contents of system clipboard on a new line
“+p比 Ctrl-v 命令更好,它可以更快更可靠地处理大块文本的粘贴,也能够避免粘贴大量文本时,发生每行行首的自动缩进累积,因为Ctrl-v是通过系统缓存的stream处理,一行一行地处理粘贴的文本。
参考内容