vi/vim工作模式
i 切换到输入模式,就可以输入字符
x 删除当前光标所在处的字符
: 切换到底行命令模式,可以在最低一行输入命令
若想要编辑文本:启动Vim,进入命令模式,按下 i ,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底行命令模式输入更多命令。
Enter 回车键,换行
Backspace 退格键,删除光标前一个字符
Del 删除键,删除光标后一个字符
方向键 在文本中移动光标
Home/End 移动光标到行首/行尾
Page Up/Page Down 上/下翻页
Insert 切换光标未输入/替换模式,光标将编程竖线/下划线
Esc 退出输入模式,切换到命令模式
在命令模式下按下 : (英文冒号)就进入底行命令模式
底行命令模式可以输入单个或多个字符的命令,可用的命令非常多,常用的如下:
q 退出程序
w 保存文件
wq 保存并退出
q! 强制退出
syntax on 支持语法高亮
set nu 显示行号
set no nu 不显示行号
set ai 设置自动缩进
set shiftwidth=4 设置自动缩进4个空格,当然要设自动缩进先
set sts=4 即设置softtabstop 为4,输入tab后就调4格
set tabstop=4 实际的tab即为 4 个空格,而不是缺省的 8 个
set expandtab 在输入 tab 后,vim 用恰当的空格来填充这个 tab
单个字符替换用 r
覆盖多个字符用 R
用多个字符替换一个字符用 s
整行替换用 S
s/name/user/ 替换当前行第一个name为use
:n,$s/name/user/ 替换第n行开始到最后一行中每一行的第一个 name 为 user
:%s/name/user/g(等同于g/name/s//user/g) 替换每一行中所有 name 为 user
. 匹配任意字符
\d 匹配阿拉伯数字,等同于[0-9]
\D 匹配阿拉伯数字之外的任意字符,等同于[^0-9]
\x 匹配十六进制数字,等同于[0-9A-Fa-f]
\X 匹配十六进制数字之外的任意字符,等同于[^o-9A-Fa-f]