vi常用命令

基本介绍

  • vi包含三种模式:命令模式、编辑模式和尾行模式
  • vi一个文件后,默认处于命令模式

模式转换

  • 命令模式是三个模式的核心,也是模式转换的中转站
  • 命令模式下,使用i,a,o等字母以不同的状态进入编辑模式
  • 编辑模式下按Esc键退回命令模式
  • 命令模式下,使用:进入尾行模式,尾行多用于查找和保存
  • 尾行模式下按Esc退回命令模式

命令模式相关命令

1.进入编辑模式
  • i 在光标所在位置之前插入字符
  • a 在光标所谓位置之后插入字符
  • o 当前行的下一行插入字符
  • O 当前行的上一行插入字符
  • I 在文件首插入
  • A 在文件尾插入
2.常用的操作
  • u 撤销
  • ctrl + u 反撤销
  • . 重复执行上次操作
  • >> 当前行缩进
  • << 当前行反缩进
  • shirft + zz 保存后退出,相当于:wq
3.编辑相关命令
  • yy 复制当前行
  • nyy 复制当前行往下的n行,如2yy复制两行
  • dd 剪切当前行,可用p粘贴,其他剪切同理
  • ndd 简介当前行往后的n行,如2dd剪切两行
  • x 删除当前字符
  • X 删除当前字符的前一个字符
  • dw 剪切当前单词
  • d0 剪切当前位置到行首的所有字符
  • D 剪切当前位置到行尾的所有字符
  • p 粘贴
  • r 替换当前位置的字符
  • R 从当前位置开始往后连续替换字符
4.批量选择与缩进
  • v 进入选择模式,使用上下左右进行选择
  • Vv大致相同,区别就是该命令会选择光标经过的行的一整行
  • > 选择的行往右缩进,可以配合.命令使用
  • < 选择的行往左缩进,可以配合.命令使用
5.跳转相关命令
  • h,j,k,l 分别表示左,下,上,右
  • nG 跳转到第n行,如20G跳转至第2o行
  • gg 跳转到文件首
  • G 跳转到文件尾
  • { 跳转到当前代码块首部
  • } 跳转到当前代码块尾部
  • w 跳转到下一个单词
  • b 跳转到上一个单词
  • M 跳转到当前屏幕区域的中间行
  • H 跳转到当前屏幕区域的首行
  • L 跳转到当前屏幕区域的尾行
  • ctrl + f 向下翻一页
  • ctrl + b 向上翻一页
  • ctrl + d 向下翻半页
  • ctrl + u 向上翻半页

尾行模式与查找

  • : 进入尾行模式,一般使用wq进行报错
  • / 进入查找
  • /hello 查找所有包含hello的位置,并会高亮显示
  • 要去掉高亮,可以查找一个不存在的字符串
  • a 跳转到下一个搜索结果
  • A 跳转到上一个搜索结果
  • :%s/hello/world 将所有的hello替换为world
  • :11,16s/hello/world/g 将11-16行的hello替换为world,可用于函数变量的重命名
posted @ 2018-05-12 10:33  tan90丶  阅读(227)  评论(0编辑  收藏  举报