vi/vim:可以建立一个新文件,也可以打开一个文件。

     //非正常关闭的时候,会出来一个交换文件,再次打开的时候会出现一个提示

vi/vim:的三种状态 

     1、命令行模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode。 

     2、插入模式:只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式 

     3、底行模式:将文件保存或退出vi,也可以设置编辑环境。

进入vi的命令 

     vi filename :打开或新建文件,并将光标置于第一行首 

     vi +n filename : 打开文件,并将光标至于第n行首 

     vi + filename :打开或新建文件,并将光标置于最后一行 

     vi + /pattern filename : 打开文件,并将光标置于第一个与pattern匹配的串处 

     vi -r filename :在上次正用 vi 编辑时发生系统崩溃,恢复 filename 

     vi filename....filename :打开多个文件,依次编辑(个人感觉没什么用)


进入插入模式 (从命令到插入模式)
     i //插入光标的前一个字符
     o //下一行插入
     I //行首插入
     A //行尾插入
     a //插入光标的后一个字符
     O //上一行插入

插入模式下的命令 

     h //左移动 

     l //右移动 

     j //下移动 

     k //上移动 

     M //当前屏幕的中间 

     L //当前屏幕最后一行 

     H //当前屏幕的最上一行 

     ctrl + f //向下翻一页 

     ctrl + b //向上翻一页 

     ctrl + u //向上翻半页 

     ctrl + d //向下翻半页 

     nG //快速定位到第n行代码 

     G //快递定位到最后一行 

     gg //快速定位到第一行 { //一片一片的跳(以空行为准) } 

     yy //复制光标所在的这一行 

     p //粘贴 dd //删除(剪切)光标所在的行 

     nyy //复制了以光标所在的位置为第一行的n行 

     ndd //光标所在的这行开始 删除n行 

     dw //删除这个单词 w //以单词进行划分,到下一个单词 

     b //以单词进行划分,到上一个单词 

     D //从光标当前位置剪切一直到行末 

     d0 //从光标当前位置剪切一直到行首 

     x //删除当前的光标的后一个,每次删除一个 

     X //删除当前的光标的前一个,每次删除一个 //选中一片代码 

     v //用上下键来选中行,>>(有移动) <<(左移动) 

     V // . //重复执行上一次命令 

     r //替换字母一个(可以在命令模式下) 

     R //从当前光标开始往后替换(可以在命令模式下) 

     u //撤销 

     ctrl + r //反撤销

底行模式 

     w:保存 

     q:退出

     wq:保存退出 

     q!:不保存退出 

     shift+zz: //相当于wq 

     :%s/hello/wolrd/g //把所有的hello换成wolrd(在末行模式下 ) 

     :11,16s/hello/wolrd/g //把11-16行的hello换成wolrd(在末行模式下 ) 

     /hello //搜索 n 查找搜索结果下一个 N 查找搜索结果上一个