vim剪贴板及多标签编辑
via: http://www.cnblogs.com/eddy-he/archive/2012/03/08/vim_copy_paste.html
1. vim 内部粘贴板
(1) 使用默认粘贴板 “"”
y → 复制,需要指定范围,例如:yw。
Y → 等同于 yy ,复制当前行。
p → 粘贴在光标后面。
P → 粘贴在光标前面。(2) 指定寄存器 register"(register)y(range) → 将要复制的内容放到指定的寄存器中。register 包括所有数字和字母;range 就是范围,例如:w、y 等。也可以使用可视化操作选中要复制的内容后再复制。
"(register)(times)p → 将指定寄存器的内容粘贴到光标的后面。times 指定要粘贴多少次。
2. vim 系统粘贴板有时候,我们想将其它应用的内容复制到 vim 中使用,或者在不同 vim 间复制粘贴,这时候就需要用到系统粘贴板。在 vim 之外,使用 Ctrl + Insert 就可以将选中的内容复制到粘贴板中,使用 Shift + Insert 粘贴。也可以直接选中要复制的内容后按 Shift + Insert 或 鼠标中间直接将内容复制到光标处。
"+y(range) → 将选中内容复制到系统粘贴板中,就可以粘贴到其它 vim 中。值得注意的是它不能粘贴到其它应用中。
"+(times)p → 将系统粘贴板中的内容粘贴到当前光标处。
----------------------
vim剪贴板
vim中,如果只是想使用系统粘贴板的话直接在输入模式按 Shift+Inset 就可以了 vim 帮助文档里与粘贴板有关的内容如下:
vim有12个粘贴板,分别是 0、1、2、...、9、a、“、+;用 :reg 命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到 “(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按 "Ny 完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按 "ay 就可以了,有两点需要说明一下:
-
- “ 号粘贴板(临时粘贴板)比较特殊,直接按 y 就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
- + 号粘贴板是系统粘贴板,用 "+y 将内容复制到该粘贴板后可以使用 Ctrl+V 将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p ;
- 要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按 "Np,其中N为粘贴板号,如上所述,可以按 "5p 将5号粘贴板里的内容粘贴进来,也可以按 "+p 将系统全局粘贴板里的内容粘贴进来。
使用:tabe
命令和文件名参数,可以在新标签页中打开指定的文件。也可以使用:tabnew
命令,在新标签页中编辑新的文件。命令:tab split
将在新标签页中,打开当前缓冲区中的文件。
命令:tabf
允许你在当前目录搜索文件,并在新标签页中打开。比如我想打开当前目录下的img.txt文件,那么就可以使用:tabf img.*
命令。请注意,此命令只能打开一个文件,如果搜索出多个匹配文件,将提示你“文件名过多”,这时你需要给出更精确的搜索条件以打开文件。
Vim默认最多只能打开10个标签页。你可以用set tabpagemax=15
改变这个限制。
列示标签页
命令:tabs
可以显示已打开标签页的列表,并用“>”标识出当前页面,用“+”标识出已更改的页面。
关闭标签页
命令:tabc
可以关闭当前标签页。而命令:tabo
将关闭所有的标签页。
切换标签页
命令:tabn
或gt
可以移动到下一个标签页。而命令:tabp
或gT
将移动到上一个标签页。如果已经到达最后面或最前面的标签页,将会自动转向循环。
如果你打开了很多标签页,那么可以使用:tabfirst
或:tabr
命令,移动到第一个标签页。使用:tablast
命令,移动到最后一个标签页。
移动标签页
如果你希望按照指定的次序排列标签页,那么你可以使用:tabm
命令。请注意,标签页次序是从0开始计数的。比如命令:tabm 1
将把当前标签页移动到第2的位置。如果你没有为:tabm
命令指定参数,那么当前标签页将会被移动到最后。
配置标签页
默认情况下,只有用户新建了标签页才会在窗口上方显示标签栏,这是由选项set showtabline=1
决定的。如果我们希望总是显示标签栏,那么可以用set showtabline=2
命令来设置。如果我们希望完全不显示标签栏,那么可以使用set showtabline=0
来设置。
多标签页命令
使用:tabdo
命令,我们可以同时在多个标签页中执行命令。比如我们打开了多个标签页,需要把这些文件中的“food”都替换成“drink”,那么就可以使用:tabdo %s/food/drink/g
命令,一次完成对所有文件的替换操作,而不用针对每个文件重复操作。
图形界面
如果你使用的是带有图形界面的gVim,那么新建、关闭和打开标签页的操作,都可以通过在标签页上右击鼠标完成。只需要点击相应标签,就可以在不同的标签页间切换。
通过:help tab-page-intro
命令,可以获得关于标签页使用的更多信息。
:tabnew | 新建标签页 |
:tabs | 显示已打开标签页的列表 |
:tabc | 关闭当前标签页 |
:tabn | 移动到下一个标签页 |
:tabp | 移动到上一个标签页 |
:tabfirst | 移动到第一个标签页 |
:tablast | 移动到最后一个标签页 |