Vim 复制 删除 替换

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

[b]1.vim替换[/b]
vim替换指令和sed命令基本相同(多了一些特殊字符)
[table]
|:s/abc/def/g | 把当前光标所在行中的abc全部替换成def(标记g表示全局替换)|
|:n,m s/abc/def/g | 把文件n-m行中的abc全部替换成def|
[/table]
通常我们需要替换到文件的最后一行,所以获取这个m值有些麻烦(难不成每次执行替换前,还需要执行wc -l查看下文件行数?), 不要忘了我们用的可是vim啊,所以你只要:

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

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

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

[b]2.vim复制和粘贴[/b]
[table]
|yy | 复制光标当前行|
|n yy | 复制从光标所在行开始的n行 eg. 5yy|
|p | 粘贴到光标所在行的下一行|
|P | 粘贴到光标所在行的上一行|
|np | 粘贴n遍 eg. 12p|
[/table]
日常工作中,我最常用的组合就是:yyp

[b]3.vim删除[/b]
[table]
|dd | 删除光标当前行|
|n dd | 删除从光标所在行开始的n行 eg. 5yy |
|d$ | 删除从当前光标到行尾的所有字符(包含当前字符),这个命令绝对会爽到你|
|d0 | 删除从当前光标到行首的所有字符(不包含当前字符的)|
|dw | 删除一个单词|
[/table]
这些快捷的删除操作,会让你的感受到无以伦比的快感...

[b]除了采用以上所说的方法进行复制,删除,我们还可以进入vim的选择模式来编辑文本内容:[/b]
[table]
|v |进入字符选择模式|
|V | 进入行选择模式|
|ctrl+v | 进入列选择模式|
[/table]
按两下Esc键退出选择模式

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

好了,我要说的就这么多,赶紧尝试吧........
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值