set nu设置行号
set nonu取消行号
i在光标所在字符前插入
a在光标所在字符后插入
I在光标所在行行首插入
A在光标所在行行尾插入
o在光标下插入新行
O在光标上插入新行
gg回到首行首列
G回到末行首列
nG回到第n行行首
:n回到第n行行首
$回到当前行行尾
0回到当前行行首
x删除光标所在字符
nx删除光标所在字符及后共n个字符
dG删除光标所在行到文件末尾内容
D删除光标所在行到行尾内容
:n,md删除从第n行到第m行内容,例:3,5d删除3到5行,共删除3行。
yy复制当前行
nyy复制当前行及以下n行
dd剪切当前行
ndd剪切当前行及以下n行
p粘贴到光标所在行行下
P粘贴到光标所在行行上
r替换光标所在处字符
R从光标所在位置开始替换,按Esc结束替换
u取消上一步操作
/string搜索字符串
:set ic不区分大小写搜索
n搜索到指定字符串的一下个出现位置
:%s/old/new/g全文替换指定字符串
:n,ms/old/new/g从n行开始到m行替换指定新旧字符串,例:8,16s/a/b/g替换8到16行,a换成b,s表示switch,g表示不询问,也可用c,表示替换前询问确认。
:w保存
:w newFileName另存为一个新文件
:wq保存并退出
ZZ保存并退出
:q!不保存退出
:wq!保存并退出(文件所有者及root可使用,当对只读文件修改后可用此方式强制保存)
:r 文件名(包括绝对路径) 导入指定文件到当前光标所在处
:!命令 在不退出vim情况下执行命令
:r !命令 可以把命令的执行结果导入到光标所在处
:map ^P I#<ESC> 定义快捷键,^P通过Ctrl+V+P敲出,I表示定位到光标所在行行首并进入插入模式,#表示插入#,<ESC>表示退出插入模式回到命令模式,此定义好的快捷键可通过Ctrl+P对光标所在行进行快速注释。
:map ^B 0x 取消注释
:map ^M ixiongjiawei@xxx.com<ESC> 插入邮箱
:1,8s/^/#/g 同时注释1到8行
:1,8s/^#//g 同时取消注释1到8行
:1,8s/^////g 在行首加//
:1,8s/^/\/g 在行首加
:ab 输入的字串 显示的字串,例:ab pet tomAndJerry,输入pet会自动录入tomAndJerry
快捷键或其他的设置需要写入配置文件才能重启也生效,配置文件.vimrc保存在每个用户的家目录下。
加了转义符后的ls才是ls的最原始含义,ls有别名