简介

  • vim - vi improved 是一个多模式文本编辑器

    注:很多系统默认安装了Vi编辑器的,但Vim编辑器是没安装或者未完全安装的。

  • vi/vim通过多模式来实现摆脱鼠标,仅使用键盘就可以进行复制剪切粘贴等常用操作。

  • 从正常模式到其他模式的切换

    • i I a A o O 进入插入模式
    • v V ctrl+v 进入可视模式
    • : / ? :! 进入命令模式
    • esc 从其他模式回到正常模式

      正常模式(Normal-mode)

  • yy -> 复制当前行

  • y$ -> 复制当前光标所在位置到本行结尾的所有字符
  • dd -> 剪切当前行
  • d$ -> 剪切当前光标所在位置到本行结尾的所有字符
  • p -> 粘贴

  • x -> 删除当前光标所在的一个字符

  • r -> 替换当前光标所在的一个字符

  • 0 -> 数字零,将光标移到行首

  • ^ -> 将光标移动到本行第一个不是blank字符的位置
  • g_ -> 将光标移动到本行最后一个不是blank字符的位置
  • $ -> 将光标移动到行尾
  • gg -> 将光标移动到第一行
  • G -> 将光标移动到最后一行
  • :N -> 将光标移动到N行(:set nu 可显示行数)

  • u -> undo撤销

  • Ctrl+r -> redo重做(即撤销的步骤做多了或者错误的撤销时进行重做)

  • hjkl (强例推荐使用其移动光标,但不必需) →你也可以使用光标键 (←↓↑→).

    插入模式(Insert-mode)

  • i -> 进入Insert 模式,并在当前光标的前面编辑

  • I -> 进入Insert 模式,并在当前行的行首编辑
  • a -> 进入Insert 模式,并在当前光标的后面编辑
  • A -> 进入Insert 模式,并在当前行的行尾编辑
  • o -> 进入Insert 模式,并定位到下一行(会新建一个空行)编辑
  • O -> 进入Insert 模式,并定位到上一行(会新建一个空行)编辑

    命令模式(Command-mode)

  • 通过“:”“/”“?”“:!”可以进入命令模式,分别对应的是:执行内部命令、向上或向下搜索、执行外部命令

  • :w -> 写入原始文件里
  • :w -> 写入指定文件里
  • :q -> 退出
  • :wq -> 保存并退出
  • :q! -> 不保存退出
  • :e -> 打开文件
  • :bp和:bn -> 在打开多个文件的情况下,可以通过这两个命令切换上一个和下一个文件
  • / 查找
    • /1 查找字符1
    • 按 n 向下移动
    • 按 N 向上移动
  • :s 替换
    • :s/1/one -> 将光标所在行的第一个1替换成one
    • :s/1/one/g -> 将光标所在行的所有1替换成one
    • :%s/1/one -> 将所有行的第一个1替换成one
    • :3s/1/one -> 将第3行的第一个1替换成one
    • :3,5s/1/one -> 将3至5行的第一个1替换成one
    • :3,$s/1/one -> 将3至最后行的第一个1替换成one
  • :! 执行shell命令
  • :set 设置命令

    • :set nu 显示行号
    • :set nonu 隐藏行号
    • 只能是单次生效,在linux里面,设置软件叫修改某个软件的配置文件,.vimrc文件

      可视模式(Visual-mode)

  • v -> 进入字符可视模式

  • V -> 进入行可视模式
  • ctrl+v -> 进入块可视模式
    • 配合d和I(大写的i)可进行块的便利操作