VIM快速复制多行

用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴。
 这样做:
1. 将光标移动到要复制的文本开始的地方,按v进入可视模式。
2. 将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。
3. 我移动光标到文本结束的地方,按p粘贴。

一、多行

dd
删除一行
ndd
删除以当前行开始的n行
dw
删除以当前字符开始的一个字符
ndw
删除以当前字符开始的n个字符
d$、D
删除以当前字符开始的一行字符
d)
删除到下一句的开始
d}
删除到下一段的开始
d回车
删除2行

二、复制多行
任务:将第9行至第15行的数据,复制到第16行

方法1:(强烈推荐)

:9,15 copy 16  或 :9,15 co 16
由此可有:
:9,15 move 16  或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面

方法2:
光标移动到结束行,ma
光标移动到起始行,输入y‘a
光标移动到需要复制的行,输入p,行前复制则输入大写P

方法3:
把光标移到第9行 shift + v
再把光标移动到第15行  ctrl + c
再把光标死去到第16行  p mysql

方法4:
光标移动到起始行,输入ma
光标移动到结束行,输入mb
光标移动到粘贴行,输入mc
然后输入:‘a,‘b, co ‘c   把co换成m就是剪切
若要删除多行,则输入:‘a,‘b de

vi设置自动缩进:set smartindent
vi设置显示行号:set number 或 set nu

Vim中如何全选并复制

全部删除:按esc后,然后dG
全部复制:按esc后,然后ggyG

全选高亮显示:按esc后,然后ggvG或者ggVG


vim如何与剪贴板交互(将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复制二个词
……

实现的原理是:
"   表示使用寄存器
"*   表示使用当前选择区

我个人推荐使用ctrl+insert复制,shift+insert粘贴。

vim有多个剪贴板,其中就包括了系统剪贴板。使用命令:reg可以看到各个剪贴板的内容。其中“”表示当前使用的剪贴板,“0-9是历史剪贴板,“#就是系统剪贴板了(你可以在系统里拷贝一些东西,看是不是会出现在“#剪贴板里)。在vim中使用y可以把内容拷贝到“”号剪贴板,继续y会把新的东西放入“”,而原来“”的东西就会被压入“0-9的各个历史剪贴板中。X11系统下还有一个“*的剪贴板对应中键拷贝粘贴,windows不知道有没有。

解决第一个问题:

“+y 把选中内容拷贝到”+号剪贴板,即系统剪贴板

“+p 把系统剪贴板的内容粘贴到vim,这一个用shift+insert也可完成

解决第二个问题:

“0p 可以把已经被挤到”0剪贴板的内容A重新粘贴出来

嫌长的做一个map,映射到某个功能键或组合就方便了。

原文地址:https://www.cnblogs.com/Jesee/p/10775504.html

时间: 2024-10-11 20:24:07

VIM快速复制多行的相关文章

Vim复制一整行和复制多行

1.复制 1)单行复制 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制: 2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行:其中n为1.2.3…… 2.粘贴 在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴 原文地址:https://www.cnblogs.com/EasonJim/p/8320776.html

转:vim快速入门

vim快速入门 2007-07-09 20:19:13|  分类: Linux|举报|字号 订阅 vim有三种模式-普通(可视命令)模式,命令行模式,编辑模式.启动vim后在任何模式下按Esc键进入到普通模式.普通模式下输入:回车进入命令行模式,此时vim最窗口最下面一行为:   后面可以输入命令行命令.在执行任何命令前要确保在相应的模式下. 1.启动与退出 1)vi filename   (启动vim) 2)命令行模式下 :wq=> 保存并退出,:q!=>强行退出,:e!=>放弃修改文

在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小小记】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的功能基本一

如何在Centos下设置Vim的永久显示行号功能?

在Linux系统中,我们经常会使用vi或vim命令,来操作文本,有时候,我们的脚本文件出了错误,会抛出一个带行号的异常,然后我们根据提示,重新打开,我们的源码进行查看,而这时候,如果你的vim没有设置显示行号功能,我们查找出问题的一行的代码,则非常不方便,不知道大家有没有遇到过这种情况. 解决办法如下: (1)cat -n 命令 能够一次性的显示文本的行号,便于我们观察,但是在编辑状态下,是不管用的 (2)配置vim的行号功能,这样就能在任何时候,编辑状态下,也快速定位行号 散仙,建议大家使用第

vim 粘贴复制操作

原文链接:http://www.cnblogs.com/lansh/archive/2010/08/19/1803378.html vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握这三种模式十分重要: 命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式.在命令模式中输入字幕"i"就可以进入vi的输入模式编辑文件. 输入模式:在这个模式中我们可以编辑.修改.输入等编辑工作,在编辑器最后一

(大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门

vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截然不同的方式:命令目录(鼠标或者键盘驱动),组合键(通常通过control键(CTRL)和alt键(ALT)组成)或者鼠标输入.Vim和vi一样,仅仅通过键盘来在这些模式之中切换.这就使得Vim可以不用进行菜单或者鼠标操作,并且最小化组合键的操作.对文字录入员或者程序员可以大大增强速度和效率. Vi

【Vim】实用命令行

在vim中高亮关键字 syntax enable 可以高亮关键字:一般后面还要在跟一个syntax on打开语法高亮 syntax clear 清除关键字高亮 在secureCRT不是xterminal模式的时候,试了一下,没起作用啊,如果是xterminal模式的时候是会起作用的 在vim中查找 / 后面跟要查找的字符串:从当前光标位置向上搜索 ? 后面跟要查找的字符串:从当前光标位置向下搜索 n 找下一个 N 找上一个 清除并重画屏幕 [Ctrl+l]组合键 vim快捷键定制 对于键盘符号,

Eclipse用法和技巧十二:快速复制一行

写代码的总有那么个时候需要Ctrl+c,Ctrl+v,在eclipse中如果遇到需要快速在一行代码的上下复制一行的话,有很方便的快捷键可以使用.将光标放到某一行,按住Ctrl+Alt+Down,即可以在下面快速复制一行,按住Ctrl+Alt+Up,即可以在上面快速复制一行.        这里有一点需要注意:intel的显示器,其显示方向的快捷键也是Ctrl+Alt+方向键,而且其响应的优先级比较高.这个时候你需要找到显示器设置的地方,去关闭快捷键响应.如果不好找的话,也可以修改eclipse的