读书人

Vim 复制 剔除 替换

发布时间: 2012-12-31 11:57:51 作者: rapoo

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. 5yyp 粘贴到光标所在行的下一行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 复制选中的内容

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



读书人网 >开源软件

热点推荐