2.1 移动光标
1)上下左右移动光标
上、下、左、右方向键移动光标
H、j、k、l 移动光标
2)把光标移动到文件头或尾
gg 移动到文件头
G 移动到文件尾(shift+g)
3)移动到行首或行尾
^ 移动到行首
$ 移动到行尾
4)移动到指定行
:n 移动到第几行
这里n是数字,准备移动到第几行,就用哪个数字。
2.4 撤销
u 撤销
ctrl+r 反撤销
“u”键能一直撤销到文件打开时的状态,类似Windows下“ctrl+z”键的作用。
“ctrl+r”能一直反撤销到最后一次操作状态,类似Windows下“ctrl+y”键的作用。
2.5替换
r 替换光标所在处的字符
R 从光标所在处开始替换字符,按ESC结束
“r”键替换单一字符,不用进入输入模式,实际使用时,比进入输入模式删除后再修改,要方便。
2.6vim配置文件
这次末行模式参数设置,多数需要在vim中才能生效。
vim支持更多的设置参数,可以通过“:set all”进行查看。
大家会发现,这些设置参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要永久生效,需要手工建立vim的配置文件“~/.vimrc”,把你需要的参数写入配置文件就永久生效了。
补充:Windows下回车符在Linux中是用“^M$”符号显示,而不是“$”符。这样会导致Windows下编辑的程序脚本,无法在Linux中执行。这时可以通过命令“dos2unix”,把Windows格式转为Linux格式,当然反过来“unix2dos”命令就是把Linux格式转为Windows格式。这两个命令默认没有安装,需要手工安装才能使用。
2.7查找
/查找内容从光标所在行向下查找
?查找内容从光标所在行向上搜索
n 下一个
N 上一个
2.8替换
:1,10s/old/new/g 替换1到10行的所有old为new
:%s/old/new/g 替换整个文件的old为new
替换字符串,我举几个例子:在shell中“#”开头是注释,那我是否可以注释文件的前10行呢?手工一个一个注释很麻烦,那么批量替换吧:
:1,10s/^/#/g 注释1到10行
:1,10s/^#//g 取消注释
而在C语言,PHP语言等大多数语言中,是使用“//”开头作为注释的,我们当然可以用vim来写这些程序语言脚本,那么批量加入“//”注释吧:
:1,10s/^/\/\//g 1到10行,行首加入//
:1,10s/^\/\///g 取消1到10行行首的//