首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Vim 复制 剔除 替换

2012-12-31 
Vim 复制 删除 替换文本编辑过程中,我们常常需要对一段文本进行编辑(删除,复制或者替换),我们通常是使用鼠

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                    复制选中的内容

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



热点排行