linux下vi编辑器常用操作命令

vi 编辑器

工作模式

命令行模式

  • 进入编辑器的默认模式
  • 按下Esc进入该模式

文本输入模式

  • i 文本插入模式
  • a 附加命令
  • o 打开命令
  • c 修改命令
  • r 取消命令
  • s 替换命令

末行模式

  • 按下 : 进入该模式

模式切换

  • 其他模式 -》 文本输入模式 按 i或a
  • 其他模式 -》 命令行模式 按 Esc
  • 其他模式 -》 末行模式 按 :

打开文件

  • vi +n 文件名 进入后光标跳转某行
  • vi + 文件名 进入后光标跳转最后一行
  • vi +/模式字符串 文件名 跳转到指定的字符串位置

显示行号

  • :set number 设置行号
  • :set nonumber 取消行号

修改文件

  • i , a

文本内容删除

  • x 删除光标处的字符
  • X 删除光标前面的字符
  • dd 删除贯标所在的整行
  • D 删除从光标所在处开始到行位的内容
  • dw 删除一个单词

文本内容复制

  • yy 复制光标所在的整行

撤销

  • u 撤销上一个步骤
  • U 多个步骤

退出

  • q 退出,如有修改,不直接退出,等待用户确认
  • q! 强制退出
  • w 保存不会退出 w 新文件名 ; 相当于另存为
  • w! 强制保存
  • wq 保存退出
  • x 退出

文本缩进

  • >n 右移 8个空格 n表示当前行及后n行
  • <n 左移 8个空格 n表示当前行及后n行
  • n>> n<< 同理 不过>> 不过n表示当前行及以后行和

光标移动

  • 左移 h
  • 右移 l
  • 上移 k
  • 下移 j
  • 当前屏的最顶一行 H
  • 当前屏的中间一行 M
  • 当前屏的底部一行 L
  • 指定某行行首 nG

跨行移动

  • imj 将文本从i行移动到j行下面

滚屏和分页

  • ctrl + u :向前翻滚半屏
  • ctrl + d :向后翻滚半屏
  • ctrl + f :向文件尾翻滚整屏
  • ctrl + b :向文件首翻滚整屏

字符串查找

  • /string 向后查找
  • ?string 向前查找
  • n 重复上一条检索命令
  • N 重复上一条检索命令,但改变方向

替换命令

  • [range]s/s1/s2/[option]
  • range: 检索范围 1,10; %整个文件,1,$ 整个文件; .,$ 当前行到文件尾
  • s1 替换命令
  • s2 要被替换的串,s2 位替换后的串
  • option:/g 表示全局文件中进行替换 /c 表每次替换都进行确认
原文地址:https://www.cnblogs.com/pengsn/p/13279759.html