文本编辑过程中,我们常常需要对一段文本进行编辑(删除,复制或者替换),我们通常是使用鼠标拖动选中需要操作的文本,然后再进行编辑。在使用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]
好了,我要说的就这么多,赶紧尝试吧........
[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]
好了,我要说的就这么多,赶紧尝试吧........