vim

普通模式下按v选择区域

x:删除光标处字符

G:最后一行

gg:第一行

yy:复制当前行

p:粘贴

u:撤销上一步操作

dd:删除当前行

shift+zz:保存退出

b:前移一个字

w:后移一个字

hjkl:光标左下上右

0:行首

$:行尾

f+字母:(从左往右)移动到相应的字母

F+字母:(从右往左)移动到相应的字母

d+$:删除光标后的所有字符

C:删除光标后的所有字符

d+0:删除光标前的所有字付

命令模式输入行号

ctrl+r:取消撤销

set nu:给当前内容设置上行号

e!:重新打开文件

dw 删除到下一个单词开头

de            删除到本单词末尾

dE            删除到本单词末尾包括标点在内

db            删除到前一个单词

dB            删除到前一个单词包括标点在内

### 替换命令

:'<,'>s/替换项/替换为/g

以下命令将文中所有的字符串idiots替换成managers:

:1,$s/idiots/manages/g

通常我们会在命令中使用%指代整个文件做为替换范围:

:%s/search/replace/g

以下命令指定只在第5至第15行间进行替换:

:5,15s/dog/cat/g

以下命令指定只在当前行至文件结尾间进行替换:

:.,$s/dog/cat/g

以下命令指定只在后续9行内进行替换:

:.,.+8s/dog/cat/g

你还可以将特定字符做为替换范围。比如,将SQL语句从FROM至分号部分中的所有等号(=)替换为不等号(<>):

:/FROM/,/;/s/=/<>/g

在可视化模式下,首先选择替换范围, 然后输入:进入命令模式,就可以利用s命令在选中的范围内进行文本替换。

1、删除每行前10个字符:

:%s/^.\{10\}//

其中,%表示所有行,s表示替换,"%s"可用"1,$"代替(下同);正则表达式"/^.\{10\}//"中,^表示行首;"."表示要删除的字符个数,".\{10\}"表示删除10个字符,可用10个"."表示;

2、删除每行后10个字符

:%s/.\{10\}$//

其中,"$"表示行尾,其他同上;

posted @ 2016-12-06 09:46  liaochuanhu  阅读(17)  评论(0)    收藏  举报  来源