VIM 编辑器基本使用及示例

VI 和 VIM 命令的区别

VIM 是 vi 的升级版本,除了兼容 vi 的所有指令,VIM 还具有一些新的特性,主要体现在:

  1. 多级撤销
    在 vi 里,按 u 只能撤消上次命令,而在 VIM 里可以无限制的撤消。

  2. 易用性
    vi 只能运行于 unix 中,而 VIM 不仅可以运行于 unix,windows ,mac 等多操作平台。

  3. 语法加亮
    VIM 可以用不同的颜色加亮显示代码。

  4. 可视化操作
    VIM 不仅可以在终端运行,也可以运行于 x window、 mac os、 windows。

VIM 三种模式操作

VIM 编辑器基本使用及示例_第1张图片

命令模式

  • 终端输入 vim 文件名 进入

  • 主要操作:

    • 删除、复制、粘贴等操作
    • 光标移动
    • 搜索字符串
    • ……
    语法 功能描述
    yy 复制光标所在的一行
    y 数字 y数字 yy 从光标所在行开始复制几行
    y $(y shift+4) 复制光标开始到行尾
    y ^(y shift+6) 复制光标开始到行首
    yw 复制一个词(从光标断开复制光标后部分)
    p 粘贴
    u 撤销上一步
    d 删除指定范围内的文本的命令,可在末行模式配合:4,9 d使用表示删除4-9行
    dd 删除光标所在行(剪切)
    dw 删除一个词(从光标断开复制光标后部分)
    d $(d shift+4) 删除光标开始到行尾
    d ^(d shift+6) 删除光标开始到行首
    w 光标移动到下一个单词首部
    e 光标移动到当前单词尾部
    b 光标移动到上一个单词首部
    d 数字 d数字 dd 删除光标(含)后多少行
    x 剪切一个光标后的字母
    X 剪切一个光标前的字母
    r 替换光标所在位置的字符
    R 开启替换模式,可连续替换字符
    shift+6(^) 光标移动到行头
    shift+4 ($) 光标移动到行尾
    gg 光标移动到页头
    G 光标移动到页尾
    数字 G 光标移动到第几行
    5 ➡ 光标向右移动5个字符
  • 输入 ia 或者 o 进入编辑模式

  • 输入 :/ 进入末行模式

编辑模式(输入模式)

  • 主要操作:编辑文本

  • 按下 esc 键进入一般模式

  • 进入编辑模式方法

    按键 功能
    i 当前光标前
    a 当前光标后
    o 当前光标的下一行(添加一行)
    I 光标所在行首
    A 光标所在行尾
    O 当前光标的上一行(添加一行)

末行模式

  • 回车键确认

  • 对于整体文档进行操作

  • 主要操作(前面都有 :

    wq,qq!

    命令 功能
    :w 保存,可指定保存的路径文件名
    :q 退出
    :wq 保存并推出
    :wq! 只读文件强制保存并退出
    :q! 不保存强制退出
    :r /etc/passwd 将/etc/passwd 文件内容读取到当前文件中
    /要查找的词(可以无需 : 直接 / 进入) 高亮显示,n向下查找,N向上查找
    :noh 取消高亮
    :set nu 显示行号
    :set nonu 关闭行号
    :s/要替换的字符串/替换后的字符串 替换当前行匹配的第一个字符串
    :s/old/new/g 替换当前行所有 old 字符串为 new
    :%s/old/new/g 替换文档中全部字符串 old 为 new
    :1,10 s/root/AJEST/g 在第1 行到第10 行中查找root,并替换为AJEST
    :50,100 选中50到100行,后面可接命令模式的d,y等命令表示对50到100行进行操作
    :! whoami 调用bash 命令
  • 按下 esc键进入命令模式

vim 键盘图

VIM 编辑器基本使用及示例_第2张图片

使用示例

  1. 在/tmp 目录中建立一个名为man_db.conf 的文件。

    touch /tmp/man_db.conf
    
  2. 在 /tmpman_db.conf 文件中读取/etc/man_db.conf 的内容,并删除第一个空白行。

    • vim 进入文件

      vim /tmp/man_db.conf
      
    • 读取内容

      # 末行模式下
      :r /etc/man_db.conf
      

      VIM 编辑器基本使用及示例_第3张图片

    • 移动到第一行

      # 命令模式下
      gg
      
    • 删除该行

      # 命令模式下
      dd
      
  3. 设定显示行号。

    # 末行模式下
    :set nu
    

    VIM 编辑器基本使用及示例_第4张图片

  4. 移动到第58 行并且向右移动5 个字符,会看到privileges。

    • 光标移动到第 58 行

      # 命令模式下
      58G
      

      VIM 编辑器基本使用及示例_第5张图片

    • 光标向右移动 5 个字符

      5

      image-20230926125437263

  5. 移动到第一行并向下搜索displayed 字符串,出现在106 行。

    • 移动到第一行

      # 命令模式下
      gg
      
    • 搜索 displayed 字符串

      #末行模式下
      /displayed
      

      VIM 编辑器基本使用及示例_第6张图片

  6. 将50 - 100 行小写的man 替换成大写的MAN。

    # 末行模式下
    :50,100 s/man/MAN/g
    

    执行前

    VIM 编辑器基本使用及示例_第7张图片

    执行后

    VIM 编辑器基本使用及示例_第8张图片

  7. 替换完成后恢复。

    # 命令模式下
    u
    

    VIM 编辑器基本使用及示例_第9张图片

  8. 复制65 - 73 行内容并且粘贴到最后一行下面。

    • 方法1

      #命令模式下
      
      #光标移动至 65 行
      65G
      #复制 65-73 共 9 行 
      9yy
      #移动至页尾
      G
      #粘贴
      p
      
    • 方法2

      # 末行模式下
      #复制 65-73 行
      :65,73 y
      
      #命令模式下
      #移动至行尾
      G
      #粘贴
      p
      

      VIM 编辑器基本使用及示例_第10张图片

  9. 删除21 - 42 行内容。

    # 末行模式下
    :21,42 d
    

    删除前

    VIM 编辑器基本使用及示例_第11张图片

    删除后

    VIM 编辑器基本使用及示例_第12张图片

  10. 将文件另存为man.test。

    # 末行模式下
    :w /home/gjl/Desktop
    

    VIM 编辑器基本使用及示例_第13张图片

  11. 将27 行删除21 个字符,如成功应该光标停留在all 的位置。

    • 选中 27 行

      # 命令模式下
      27 G
      

      VIM 编辑器基本使用及示例_第14张图片

    • 删除前 21 个字符

      # 命令模式下
      # x 删除光标后的字符,X 删除光标前的字符
      21 x
      

      VIM 编辑器基本使用及示例_第15张图片

  12. 在第一行上面新增一行内容为i am a good student。

    • 光标移动至第一行

      # 命令模式下
      gg
      
    • 按下 i 键进入输入模式

      输入字符

      VIM 编辑器基本使用及示例_第16张图片

  13. 存储并退出。

    # 末行模式下
    :wq
    

    VIM 编辑器基本使用及示例_第17张图片

    查看编辑的文件

    VIM 编辑器基本使用及示例_第18张图片

你可能感兴趣的:(编辑器,vim,linux,运维,服务器,网络安全)