GVIM/VIM的使用操作——复制粘贴操作
Posted 摆渡沧桑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GVIM/VIM的使用操作——复制粘贴操作相关的知识,希望对你有一定的参考价值。
GVIM/VIM的使用操作 (持续更新中。。。)
VIM的基本操作不做详细描述,主要介绍一些在实际操作的比较复杂的操作,如复制粘贴、
复制、粘贴
用vim已经半年了,复制粘贴的操作我只会在同一个窗口中使用。始终也不知道怎么在vim中使用系统粘贴板,最近也在写很多工程文档,有时需要打开多个窗口,然后需要复制粘贴另一个窗口内的内容,经过查阅网上资料和手册,自己动手操作了一番,学会了如何使用。
一、讲一下vim的粘贴板的基础知识
vim(我是GVIM)有以下粘贴板,分别是 "、 0、1、2、…、9、-、*、+、. 、 : 、%(、是分隔号)
用:reg命令可以查看各个粘贴板里的内容,如下,各个粘贴板里面已经有我之前复制在各个粘贴板里的内容。
二、在同一个vim编辑器中简单的复制粘贴
在vim中简单用yy只是复制到 “ 粘贴板里(第一个),同样用p粘贴的也是这个粘贴板里的内容
复制:nyy (n表示光标所在位置下复制n行)
粘贴:p
例:在某一行中粘贴下面第157-160行信息。则需要将光标移至改157行,在命名模式下按4yy。
按键过程提示信息在窗口底端如下:(提示信息需要根据.vimrc在环境变量中设置)
此时将光标移至需要粘贴的行即可(如粘在162行后,只需将光标移至162行所在行):
三、将内容复制至指定寄存器
要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按 "Xyy 完成复制,其中 X为粘贴板号(注意是按一下双引号然后按粘贴板号最后按yy),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
例: 如需要复制28行信息至寄存器6。则需要在命令模式中按键:"6yy
按键操作信息显示在窗口右下方:(图中还有y没输入)
输入完整命令后,检查寄存器,如下,可以看到之前的寄存器内容已经被刚才复制的内容代替。
粘贴的时候,输入 ”6p
三、将内容复制至指定寄存器
当需要和外部窗口进行复制粘贴时进行
需要说明的是,*号粘贴板是系统粘贴板(有的地方+也代表系统粘贴板)
- 用 "*yy 将内容复制到系统粘贴板后,在外部可以直接使用Ctrl+V将其粘贴到其他文档中。(”+yy)也是可以的。
例:如将以下整个模块,复制至系统粘贴板中按键:“*12yy
(12表示行数)
按键过程的命令如下所示:(图中还有y没输入)
输入完成后显示如下图,显示12行已复制系统粘贴板 * 中
然后复制在其他任何一个可插入窗口,如ctrl+v粘贴在此博客中:
module div_test(
);
reg clk_i,rst_n_i;
wire div_2_o,div_4_o,div_8_o,div_2hz_o;
always @(posedge clk_i or negedge rst_n_i)
begin
if (! rst_n_i)begin
reg clk_i,rst_n_i;
reg clk_i,rst_n_i;
endmodule;
- 要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;
例1:将上面一行复制至系统粘贴板+中。
查看vim中reg寄存器* 中的内容,如下,可以看到上面的内容已经被复制至系统粘贴板中。
例2:将一个vim窗口中某一块内容复制至另一个vim中。
如将下面div_clk.v 的34-42行复制至另外一个vim中。
将光标移至34行,按键:“*9yy
("+9yy)也可以
然后复制div_test.v中27行之后,按键: ”*p
("+p)也可以,但需要寄存器相对应。
结果如下:
以上是关于GVIM/VIM的使用操作——复制粘贴操作的主要内容,如果未能解决你的问题,请参考以下文章