Published on

Linux下Vim操作

Authors
  • avatar
    Name
    Et cetera
    Twitter

Vi/Vim 编辑器

vi/vim 是 Linux 中最经典的文本编辑器 vim 是 v 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性

  • vi/vim 的三种工作模式

    • 命令模式 该模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能,此模式下,不能自由地进行文本编辑
    • 输入模式 该模式下,可以对文件内容进行自由编辑
    • 底线命令模式 以:开始,通常用于文件的保存、退出
      • :w filename(输入 「w filename」将文章以指定的文件名 filename 保存)
      • :wq (输入「wq」,保存并退出)
      • :q! (输入 q!,不保存强制退出)
  • 使用:vi/vim 文件路径

    • 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
    • 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
  • 常规操作流程:

    • vim/vi 文件路径进入命令模式

    • 键入i进入输入模式,进行编辑操作

    • 操作完成后,ESC键退回命令模式

    • 键入:开启底线命令模式,输入wq保存退出

  • 命令模式:

    • 移动光标常用指令:
      • h 向左移动一个字符
      • j 向下移动一个字符
      • k 向上移动一个字符
      • i 向右移动一个字符
      • 或者使用方向键进行控制
      • 如果想要向下移动 n 行,可通过使用 "nj" 或 "n↓" 的组合按键
    • 搜索:
      • /word:向光标之下寻找一个名称为 word 的字符
      • ?word:向光标之上寻找一个字符串名称为 word 的字符串
      • n:代表重复前一个搜寻的动作,即再次执行上一次的操作
      • N:反向进行前一个搜索动作
    • 删除、复制、粘贴:
      • x:向后删除一个字符
      • X:向前删除一个字符
      • nc:n 为数字,连续向后删除 n 个字符
      • dd:删除游标所在的那一整行
      • d0:删除游标所在处,到该行的最前面一个字符
      • d$:删除游标所在处,到该行的最后一个字符
      • ndd:除光标所在的向下 n 行
      • yy:复制游标所在的那一行
      • y0:复制光标所在的那个字符到该行行首的所有数据
      • y$:复制光标所在的那个字符到该行行尾的所有数据
      • p:已复制的数据在光标下一行贴上
      • P:已复制的数据在光标上一行贴上
      • .:重复上一次的修改 -- 注意该命令是英文符号点
      • gg:跳转到文件开头
      • G:跳转到文件末尾
  • 输入模式

    • i:从目前光标所在处输入
    • I:在目前所在行的第一个非空格符处开始输入
    • a:从目前光标所在的下一个字符处开始输入
    • A:从光标所在行的最后一个字符处开始输入
    • o:在目前光标所在的下一行处输入新的一行
    • O:目前光标所在的上一行处输入新的一行
  • 底线命令模式

    • w:将编辑的数据写入硬盘档案中
    • w!:若文件属性为『只读』时,强制写入该档案
    • q:未修改,直接退出
    • q!:修改过但不存储
    • wq:储存后离开