Vi 文件名 (创建一个文件)
Esc :w (保存但不退出)
Esc yy 19p(复制一行成19行)
U (撤销复制)
Ctrl r(返回以前复制的行数)
16G (进去文件以后想跳到16行)
Vi 文件名 +16 (打开一个文件 直接定位到第16行)
Esc :q(退出)
Vi 文件名(定位到第一行)
Vi 文件名 + (定位到最后一行)
下面是没有保存然后直接关闭造成的异常解决问题
首先 查看交换文件(交换文件就是vi如果编辑没有保存推出就会产生): ls -la(a可以查看隐藏文件,l查看文件所有大小信息 swp结尾的就是vi交换文件)
然后就是直接打开文件 :vi 文件名
然后会跳出接下来的操作指令 :选择q 就可以正常进去文件(并且删除交换文件自动)
三种模式:(所有模式切换都是按esc)
命令模式:所有的指令:u(撤销炒作) ctrl r(返会撤销的操作) 等等所有命令
末行模式:文件退出保存
编辑模式:插入编辑 i(insert 在命令模式下按) 就可以直接编辑
移动命令:
H(左移动) j(下移动) k(上移动) l(右移动)
0(跳到行首) $(跳到行尾) w(后移一个单词) b(前移动一个单词)
数字 gg (或者是:数字 G)跳到数字指定的行数
G(跳到最末行) gg(跳到最顶行)
Ctrl f (相下翻一页) ctrl b(向上翻一页)
H(跳到当前屏幕最顶行) M(跳到当前屏幕正中央) L(跳到当前屏幕最下面)
{(表示向上跳到空行出) }(向下跳到空行处)
%(可以随机跳到小括号或者中括号 大括号前后)
标记: m 随机一个字母 ‘ 标记的字母 (跳到标记的那个位置 单引号 标记的字母)
视图:
V(大写V表示按行选中) v(小写的v表示部分选中) ctrl v(表示垂直选中)
选中后可以进行一些列操作(d 删除 { 按上到空格选中 以及复制等等)
删除操作:
数字 dd 删除数字多少行
数字 x 删除多少个单词
删除一行 dd
删除一个单词 x
D 删除到行尾
组合:d{ d} d’a (标记)
复制操作:
数字 yy 复制多行
复制一行 yy
V模式下 选中区域 按y 就复制了 然后按p 就可以粘贴
粘贴 p
组合 :y{ y} (等等)
替换: r 命令模式下替换一个单词 R 替换模式下 替换多个单词
缩进:向后缩进>> 向前缩进<< 执行上一次缩进 . 试图模式下只需按一次< > .
查找: 输入单词查找:/输入查找单词 n(下一个) N(上一个)
光标处查找: *(查找下一个) #(查找上一个)
全局替换: :%s/旧的单词/新的单词/g 然后回车就成功了
局部替换:在可视范围内::s/旧的单词/新的单词/g 然后回车就成功了
提示替换: :%s/旧的单词/新的单词/gc y(yes) n(no) a(all) q(quit)
常见的插入模式: O(向下插入一行) o(向上插入一行) i(当前光标插入) a(光标下个单词插入) I(行首插入) A(行末插入)
编辑模式和数字模式混用: 先按下指定数字 然后进入编辑模式 写入一些内容以后,
退出编辑模式 ,(要回车的要回车)就会自动复制多少那些内容
注释(多行注释):首先ctrl v 进入可视模式, 选中注释部分,然后按I 进入编辑模式, 然后按#注释一行,然后退出编辑模式,选中的部分都会被注释
末行模式::w 文件名 (表示新创建一个文件然后把这个文件内容添加进去)
:e 文件名(编辑其他文件)
:n 文件名 (创建新文件)
:w (写入)
:q (退出)
:q!(强制退出)
:wq(保存并退出) :x(保存并退出)
()
分屏操作: 横屏 :sp 纵屏 :vsp
Ctrl w (w切换到下个窗口 r上下窗口互换 c 关闭当前窗口)