Skip to content

VIM

全局配置文件: /etc/vimrc 用户配置文件: ~/.vimrc

模式说明

VIM 有四个常用模式:正常模式(Normal)、编辑模式(Insert)、命令行模式(Command-Line)、可视模式(Visual)。

VIM 默认进去的模式为命令模式。

mermaid
stateDiagram-v2
    NORMAL: 正常模式
    INSERT: 编辑模式
    COMMAND_LINE: 命令行模式
    VISUAL: 可视模式
    NORMAL --> INSERT
    INSERT --> NORMAL
    NORMAL --> COMMAND_LINE
    COMMAND_LINE --> NORMAL
    NORMAL --> VISUAL
    VISUAL --> NORMAL
stateDiagram-v2
    NORMAL: 正常模式
    INSERT: 编辑模式
    COMMAND_LINE: 命令行模式
    VISUAL: 可视模式
    NORMAL --> INSERT
    INSERT --> NORMAL
    NORMAL --> COMMAND_LINE
    COMMAND_LINE --> NORMAL
    NORMAL --> VISUAL
    VISUAL --> NORMAL

正常模式

  • gg: 跳转到首行
  • {number}gg: 跳转到 number 行
  • G: 跳转到末行
  • i: 在光标位置前插入
  • I: 在光标行最前面插入
  • a: 在光标位置后插入
  • A: 在光标行末尾插入
  • o: 在光标下一行插入新行
  • O: 在光标上一行插入新行
  • s: 删除光标位置字符并插入
  • S: 删除光标行并插入
  • R: 替换编辑模式(输入内容直接替换内容)
  • v: 进入可视模式
  • /text: 查找指定文件内容(可通过 b、n 跳转上一下、下一个)

命令行模式

  • set nu: 显示行号,通过 set nonu 关闭
  • set rnu: 显示相对行号,通过 set nornu 关闭
  • set ff: 显示文件格式
    • set ff=unix 修改为 Unix 格式
  • w: 保存文件
  • q: 退出编辑(修改了文件不能直接退出)
  • q!: 强制退出,不保存文件
  • wq: 退出并保存文件
  • number: 跳转到指定行(正常模式的 {number}gg)
  • s/old/new/g: 将当前行的 old 字符串,替换为 new 字符串(没有/g则替换一次)
  • 10,20s/old/new/g: 将10到20行的 old 字符串,替换为 new 字符串(没有/g则替换一次)
  • %s/old/new/g: 全局搜索 old 字符串,替换为 new 字符串(没有/g则替换一次)
  • e path: 切换到其它文件,支持相对路径和绝对路径
  • echo $MYVIMRC: 输出配置文件路径

编辑模式

使用 ECS 退出到正常模式。

可视模式

使用 ECS 退出到正常模式。

设置 VIM 编码为 UTF-8

vim
set encoding=utf-8

IDEA-VIM

GitHub Repository: https://github.com/JetBrains/ideavim

gVIM

修改字体

vim
set guifont=Cascadia_Mono:h14

配置

关闭备份文件和重做文件

备份文件:~ 结尾

重做文件:un~ 结尾

vim
set noundofile
set nobackup