vi的三种状态
1.命令模式(默认)
2.尾行模式 :/ 进入尾行模式 1.ESC慢 2.连续两次esc 3 删除全部尾行内容 退出尾行模式
3.编辑模式 a i o s(四种方式)进入编辑模式 esc 退出编辑模式
vim/vi 命令
打开vi 1. #vi filename 如果filename没有被创建,则生成一个新文件 2 #vi 编辑新的文件在内存中 编辑完成后必须使用相关命令保存文件 否则编辑无效
退出vi 1.进入命令模式,输入退出命令:ZZ(保存退出),ZQ(直接退出) 2.进入尾行模式,用命令退出: q直接退出 q!强制退出 wq 保存退出
显示行号 尾行模式下 :set number 或 :set nu
字符移动 1.方向键 2.k,j,h,l 各自按上下左右移动一个字符
行移动 0或 home 移动到本行行首 $或end 移动到本行行末
跳到指定行 [行号] G 转到文件的最后一行 G 转到文件的最后一行 gg 转到文件的第一行
屏幕滚动 ctrl+u 将屏幕向文件头方向翻滚半屏 ctrl+d 将屏幕向文件尾方向移动翻滚半屏 ctrl+f 将屏幕向文件尾方向翻滚一整屏 ctrl + b 将屏幕向文件尾方向翻滚一整屏
文本插入 I 插入当前行头 a 插入当前字符后 A 插入当前行尾 o 插入当前行下一行 O 插入当前行上一行
文本删除 dd删除当前行 ndd 删除从当前行起的n行 x 删除 光标处的字符 nx 删除光标位置起的右n个字符 X 删除光标前的字符 nX 删除光标位置前 左n个字符
D 或d$ 删除光标起到行尾的内容 d0 喊出光标前一个字符到行尾的内容 dw 删除一个单词 ndw 删除n个单词
恢复 u 取消上次的编辑动作(可多次) U 取消在本行所有的编辑动作 重复命令(.) 再一次执行刚执行的命令
修改文本 c object 改变光标位置到object位置的内容 C或c$ 改变光标位置起到行尾的内容 nC 改变光标位置起的n行内容 cc 改变当前行的内容 ncc改变当前行起n行的内容
文本搜索 /word 查找word 查找命令 n 继续向前查找 /和?方向不同 N 与n反向查找 /g全局操作
文本替换 s 用跟随在其后的字符串替换光标位置的字符 ns 跟随在其后的字符串替换光标位置起的n个字符 S 用跟随在其后的字符串替换该行 nS 跟随在其后的字符串替换当前行起n行
拷贝文本 yy 拷贝一行 nyy