vim有三种模式:命令模式,插入模式,编辑模式
vi filename 可进入命令模式,键入a,i或者是o可进入插入模式,Esc可退出插入模式。
插入命令
a 在光标所在的字符后插入
A
在光标坐在的行尾插入
i
在光标所在的字符钱插入
I
在光标所在的行首插入
o
在光标所在的下一行插入
O
在光标所在的上一行插入
在编辑模式下的命令:
gg
移动到第一行
G
移动到最后一行
nG
移动到第n行
$
移动到本行的行末
0
移动到本行的行首
x
删除光标所在处的字符
nx
删除光标所在出的后n个字符
dd
删除光标所在的行
ndd
删除n行
dG
删除光标所在的行到文件末尾的内容
D
删除光标所在处到行尾内容
yy
复制当前行
nyy
复制当前行以下的n行
dd
剪切当前行
ndd
剪切当前行以下的n行
p
粘贴在当前光标所在行下
P
粘贴在当钱光标所在行上
r
替换光标所在处的字符
R
替代直至Esc
u
取消上一步的操作
/string
搜索指定的字符 :set ic在搜索时忽略大小写
在命令模式下的命令:
:set nu
设置行号
:set nonu
取消行号
:n1,n2d
删除指定范围的行
:%s/old/new/g
全文替换old为new
:n1,n2s/old/new
在n1行到n2行之间替换指定的字符
:w
保存修改
:w filename
另存为
:wq
保存修改并退出
ZZ
快捷键,保存修改并退出
!q:
退出不保存
:wq!
退出,保存
:r /etc/issue 在光标所在处导入/etc/issue文件
:! 命令
指定命令
:date
显示当前的日期
:r !命令
导入命令执行的结果
定义快捷键
:map ^p I#<ESC>
功能:在按下Ctrl+P时将本行注释。^p:要同时按下Ctrl+V+P才可以产生。
I--进入插入模式,在光标所在的行首插入#,完成之后由<ESC>退出到命令模式
:map ^B 0x
功能:取消注释。^B:要同时按下Ctrl+V+P才可以产生。0使得光标移动到行首,没有进去插入模
式,依然在命令模式,使用命令模式下的x命令删除#,即取消了本行的注释
为连续的行注释
:2,5s/^/#/g
为2~4行注释。将行首替换为#
:2,5s/^#//g
消除2~4行的注释。将行首的#替换为空,g表示不加询问
为C或者是C++代码连续行注释
:2,5s/^/\/\//g
\为转义符