Vim 复制 删除 替换

文本编辑过程中,我们常常需要对一段文本进行编辑(删除,复制或者替换),我们通常是使用鼠标拖动选中需要操作的文本,然后再进行编辑。在使用vim前,你可能还不觉得这种方式有什么不好,但是当你懂得用vim来处理这些需求时,你会发现以前真是弱爆了!

1.vim替换
vim替换指令和sed命令基本相同(多了一些特殊字符)
:s/abc/def/g         把当前光标所在行中的abc全部替换成def(标记g表示全局替换)
:n,m s/abc/def/g      把文件n-m行中的abc全部替换成def

通常我们需要替换到文件的最后一行,所以获取这个m值有些麻烦(难不成每次执行替换前,还需要执行wc -l查看下文件行数?), 不要忘了我们用的可是vim啊,所以你只要:

:n,$s/abc/def/g     $符号代表文件最后一行(同sed命令)

现在假如你需要替换整个文件内容,你可能会写:
:1,$s/abc/def/g 

似乎这已经足够简洁,但是还是那句话,我们用的可是vim啊,所以可以更简单的写成:
:%s/abc/def/g        %符号表示全文

2.vim复制和粘贴
yy                   复制光标当前行
n yy                 复制从光标所在行开始的n行 eg. 5yy
p                    粘贴到光标所在行的下一行
P                    粘贴到光标所在行的上一行
np                   粘贴n遍 eg. 12p

日常工作中,我最常用的组合就是:yyp

3.vim删除
dd                   删除光标当前行
n dd                 删除从光标所在行开始的n行 eg. 5yy  
d$                   删除从当前光标到行尾的所有字符(包含当前字符),这个命令绝对会爽到你
d0                   删除从当前光标到行首的所有字符(不包含当前字符的)
dw                   删除一个单词

这些快捷的删除操作,会让你的感受到无以伦比的快感...

除了采用以上所说的方法进行复制,删除,我们还可以进入vim的选择模式来编辑文本内容:
v                    进入字符选择模式
V                    进入行选择模式
ctrl+v               进入列选择模式

按两下Esc键退出选择模式

在选择模式下可以进行剪切和复制
d                    删除选中的内容
y                    复制选中的内容


好了,我要说的就这么多,赶紧尝试吧........



猜你喜欢

转载自diaocow.iteye.com/blog/1744693