vi编辑器工作模式及常用操作命令介绍

来源:互联网 发布:留学生回国工作 知乎 编辑:程序博客网 时间:2024/06/01 15:35

基本介绍

vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
Vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。

工作模式

vi有3种基本工作模式:命令模式、编辑模式和尾行模式。

命令模式

  • 默认模式,command mode
  • 在此模式下可以控制屏幕光标的上下左右移动,可以对字符 行等进行操作
  • 可以通过”:”切换到尾行模式或者通过 “a” “i” “s” “o”切换到编辑模式

编辑模式

  • 也叫插入模式,insert mode
  • 只有在该模式下,才可以做文字输入
  • 可以通过”esc”切换到命令模式,也可以通过”:”切换到尾行模式

尾行模式

  • 也叫底行模式,last line mode
  • 在该模式下,可以对文件进行保存 退出等操作,也可以进行字符串查找替换 显示行号等操作
  • 可以通过连续按两次”esc”或删除尾行字符切换到命令模式

常用操作

编辑模式

在命令模式通过a i s o四种方式切换到编辑模式

  • a:光标后移一位
  • i:光标在当前位置
  • s:删除当前光标位置字符
  • o:在光标所在行后新建行

尾行模式

  • :q:退出vi编辑器,如果对文档进行了编辑修改操作,那么执行该命令时会有错误提示
  • :q!:强制退出vi编辑器,如果对文档进行了编辑修改操作,通过此命令可以强制退出,修改不生效
  • :w:保存文档,并继续停留在vi编辑器
  • :wq:保存文档并退出vi编辑器
  • :wq!:强制保存文档并退出vi编辑器
  • :set number/nu:显示行号
  • :set nonumber/nonu:取消显示行号
  • :数字:比如:20,跳转到20行
  • :/str/或:/str:在文档中查找str字符串,通过n切换下一个,N返回上一个
  • :s/str1/str2:在改行使用str2替换第一个str1
  • :s/str1/str2/g:将改行的所有str1替换为str2
  • :%s/str1/str2/g:将文档中所有的str1替换为str2

命令模式

光标移动

  • 字符级移动:上(k) 下(j) 左(h) 右(l)键
  • 单词级:
    • w:word 下一个单词首字母
    • b:before 上个(本)单词首字母
    • e:end 下一个(本)单词最后一个字母
  • 行级
    • 0:行首
    • $:行尾
  • 段落级(内容之间有空白行)
    • {:上个(本)段落首部
    • }:下个(本段落尾部)
  • 屏幕级(不翻屏)
    • H:屏幕首部
    • L:屏幕尾部
  • 文档级
    • G:文档尾行
    • 1G:文档首行
    • nG:文档第n行

删除内容

  • dd:删除当前行
  • ndd:从当前行起删除n行
  • x:删除当前光标所在的字符
  • cw:从光标所在位置删除至单词词尾,并进入编辑模式

复制内容

  • yy:复制当前行
  • nyy:从当前行起复制n行

粘贴内容

-p:对复制或删除的内容进行粘贴

快捷操作

  • r:对当前字符进行替换操作
  • J:合并上下两行
  • .:重复执行上条命令
0 0