vim的复制粘贴小结(转)

原文地址:http://lsong17.spaces.live.com/blog/cns!556C21919D77FB59!603.entry

内容:

用vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽;上次论坛上有人问到了怎么在vim中使用系统粘贴板,印象里回复很多,有好几页的回复却没有解决问题,今天实在受不了了又在网上找办法,竟意外地找到 了,贴出来分享一下。

如果只是想使用系统粘贴板的话直接在输入模式按Shift+Inset就可以了,下面讲一下vim的粘贴板的基础知识,有兴趣的可以看看,应该会有所收获的。
vim帮助文档里与粘贴板有关的内容如下:

  1. vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
  2. 要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
    • “号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
    • +号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;
  3. 要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。

注意:在我这里,只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器。

时间: 2024-12-19 17:46:21

vim的复制粘贴小结(转)的相关文章

【vim小小记】vim的复制粘贴(包括系统剪贴板)

1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如: w 跳转到下个word,W:跳转到上个word f 某行正向查找并跳转 F: 反向.... 然后部分双写的字母有行操作: yy 复制一行 dd 删除一行 所以, p就是在当前光标后粘贴,P就是在当前光标前粘贴 另外,说完p,其实还有几个命令有时也是很有用的 gp,和p的功能基本一

在LINUX终端和VIM下复制粘贴

http://www.tinylab.org/linux-terminal-and-paste-copy-under-vim/ 在GUI界面下,我们可以很自由的复制粘贴.但是在字符界面下,我们不得不用鼠标选定,然后单击右健,选择复制,再到别处去Ctrl-v.并且对于 那些用没有配置过的VIM来说,VIM的粘贴板和X Window的粘贴板还不共享.这在码字的过程中,感觉非常不流畅.下面,我们就尝试解决这个问题. 首先我们得让VIM和X Window共享一个粘贴板,这样我们就可以像在GUI界面下一样

Vim中复制粘贴缩进错乱问题的解决方案

当你把这段缩进优美的代码直接ctrl+c,ctrl+v到Vim的时候,就会出现如下恶心的情况 可以看到,这种直接粘贴的方式会导致代码丢失和缩进错乱等情况. 解决方案 vim进入paste模式,命令如下: :set paste 进入paste模式之后,再按i进入插入模式,进行复制.粘贴就很正常了. 命令模式下,输入 :set nopaste 解除paste模式. paste模式主要帮我们做了如下事情: textwidth设置为0 wrapmargin设置为0 set noai set nosi s

vim vim光标的移动复制粘贴

1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和home .end 键 还有就是字母键上的  hjkl h : 表示向前 j:表示向下 k:表示向上 l : 表示向后 w和e :   光标会按一个单词的形式,往后移 b : 光标则会按一个单词的形式,往前移. gg: 同时按两下 小写的gg,光标会移动到首行 GG:同时按两下大定所GG,光标就会移

一文搞懂vim复制粘贴

转载自本人独立博客https://liushiming.cn/2020/01/18/copy-and-paste-in-vim/ 概述 复制粘贴是文本编辑最常用的功能,但是在vim中复制粘贴还是有点麻烦的,有一点学习成本.本文总结了使用vim复制粘贴的典型场景和使用方法,希望对读者有帮助. vim内部复制.粘贴.剪切 选择文本 v+光标移动 (按字符选择)高亮选中所要的文本,然后进行各种操作(比如,d表示删除). V (按行选择) v+选中的内容+c 更改选中的文字 复制:y(ank) y 用v

vim与系统粘贴板的互通简单介绍

最近经常遇到这个问题,在这里记录下. 我的环境 系统 Archlinux vim NVIM v0.2.2 / vim 8.0.1297 前提 需要 vim 支持 +clipboard 检查方法 vim --version | grep clipboard 如果你用的是 vim-minimal 不支持,安装 gvim 可解,安装后命令行版也会支持的 至于 nvim, 我也不太清楚, 好像 vim 支持之后它也可以了??? 开始 不再详细介绍 vim 的 复制粘贴缓存器系统了,只介绍方法,具体可参考

Vim 安装、配置及复制粘贴操作

1.安装:sudo apt-get install vim 2.配置:cd ~ #进入用户主目录 touch .vimrc #.后缀文件不可见 vi .vimrc #打开文件 输入: 1 set cindent 2 3 set shiftwidth=4 4 set tabstop=4 5 set softtabstop=4 6 7 set number 8 set hlsearch 9 syntax on 10 11 set showmode 12 set foldmethod=syntax 1

vim 常用的复制粘贴命令

vim 常用的复制粘贴命令,整理如下: 1.选择文本.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是:y,常用的命令如下: y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用: yy    复制整行(nyy或者yny ,复制n行,n为数字): y^   复制当前到行头的内容: y$    复制当前到行尾的内容: yw   复制一个word (nyw或者ynw,复制n个word,n为数字): yG    复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,

VIM使用系列:寄存器与复制粘贴缓冲区

转自: http://www.2cto.com/os/201307/227903.html VIM使用系列:寄存器与复制粘贴缓冲区   现在已经可以熟练使用VIM的大多数基本命令.功能来进行项目代码的开发了,但是在项目的开发过程中,依然会感觉到一些操作效率比较低,比如通过h/j/k/l来进行光标的大范围移动这类操作,显然VIM提供了更高效的命令操作方式.最近经常需要完成的工作就是需要在代码之间来回的复制.粘贴.搜索和替换,常用的d/y/x/p命令已经显得不够,于是学习了一下VIM的寄存器功能,使