跳到到行
:行号 回车 与 行号G效果一样
删除
:3,8d 删除 3到8行
移动
1,2m17 1-2行移动到17行之后
复制
1,2co17 1-2行复制到17行之后
显示行号
set nu
不显示行号
set nonu
列出总行数
:=
列出当前行数
:.=
行寻址符号:
全局搜索
:g/要查找的
保存与离开
w 保存
q 离开
x 保存与离开
保存一部分
:230,$w newfile 将 230行到末尾,保存为newfile
将一个文件读入另外一个文件
:r file 插入到当前行
:4r file 插入到第4行
vi 打开多个文件
vi filename1 filename2 filename3
:n 切换文件
:args 显示文件状态,[] 表示当前正在编辑的文件
:rew 回到第一个文件
:last 到最后一个文件
:e 文件名 直接编辑哪个文件
:e! 放弃编辑
全局替换
:s/old/new/ 替换当前行的一个
:s/old/new/g 替换当前行的所有
:1,10s/old/new/g 替换1-10行的所有
:1,$s/old/new/g 替换所有
:%s/old/new/g 替换所有
没有g 只替换一个
确认替换
:s/old/new/gc c(confirm)
全局搜索 pattern 匹配,替换
:g/pattern/s/old/new/g
配合正则表达式
%/s/[abc]/123/gc 出现[abc]中的一个,替换成123
文本: mgibox routine
:g/mg\([ira]\)box/s/box/square/gc 全局搜索mg\([ira]\)box,将其中的box 替换成square