vi编辑器的四种模式状态:
1)命令模式 command
2)插入模式 insert
3)底行模式(末行模式):
4)视图模式 visual
vi模式切换:
输入模式————> ESC ————>命令模式————> shift+: ————>末行模式
输入模式<———— i <————— 命令模式 <———— ESC <——————末行模式
命令模式————> v ————> 视图模式
命令模式<——— ESC <——— 视图模式
输入模式,末行模式,视图模式三者相互切换,中间必须都要按ESC先回到命令模式,再切换到其他模式。
1)vi输入模式
a 在当前字符的后面输入i 在当前字符的前面输入s 删除当前字符并输入o 当前字符所在行下方输入A 在当前行后面输入S 删除当前行并输入I 当前行前面输入O 当前行上一行输入
2)vi命令模式
h 左j 下k 上l 右 (小写L)x 删除当前字符,3x删除三个字符r 单字符替换dd 删除一行,剪切一行dw 删除一个单词d^ 从当前字符删除到行首d$ 从当前字符删除到行末G 跳到最后一行1G 跳到第一行,nG跳到第n行dG 从当前行删除到最后一行d1G 从当前行删除到第一行yy 复制当前行3yy 复制三行,nyy复制n行(包括当前行,往下数)p 粘贴到下一行2p 重复粘贴两次,np重复粘贴n次P 粘贴到上一行u 撤销ctrl+r 恢复/word 查找word,用n键查找下一个,N查找上一个v 按v键再按上下左右进行视图选中,进行快速缩进,v是按字符选中V 按行来进行视图选中
3)vi末行模式
:q 不保存退出:q! 强制不保存退出:wq 保存退出:wq! 强制保存并退出:x 保存退出,#与:wq的区别是:如果文件没有修改,按:x退出,不会修改文件的时间属性;#如果按:wq退出,则即使文件内容没有改动,但是文件的时间属性会发生改变。:w 保存不退出。防止突然断电,数据丢失:w file2 将文件保存到另一个文件file2中:%s/old/new/g 把文章内所有old全部替换成new,%是第一行到最后的意思,g代表global全局:1,10s/old/new/g 将第1行到第10行的old替换成new:s/old/new/g 替换当前行中的所有old为new:set nu 显示行号:set nonu 不显示行号