# Vim 命令速查 > 最常用的 Linux 文本编辑器 --- ## 模式切换 | 模式 | 进入 | 说明 | |------|------|------| | 正常模式 | `Esc` | 默认模式,左下角显示文件名 | | 插入模式 | `i` | 左下角显示 `--INSERT--` | | 可视模式 | `v` / `V` | 选择文本 | --- ## 启动与退出 ```bash vim filename # 打开文件 vim file1 file2 # 打开多文件 vim -O file1 file2 # 垂直分屏 vim -o file1 file2 # 水平分屏 ``` | 命令 | 说明 | |------|------| | `:wq` | 保存并退出 | | `ZZ` | 保存并退出(等价) | | `:q!` | 强制退出(不保存) | | `:x` | 保存并退出 | --- ## 移动命令 ```bash # 字符移动 h # 左 j # 下 k # 上 l # 右 5h # 左移5字符 # 单词移动 w # 下一词首 e # 下一词尾 b # 上一词首 2b # 上移2词 # 行移动 0 # 行首 ^ # 行首(非空白) $ # 行尾 3$ # 下移3行尾 # 屏幕移动 Ctrl+f # 下翻一屏 Ctrl+b # 上翻一屏 Ctrl+d # 下翻半屏 Ctrl+u # 上翻半屏 # 文件移动 gg # 文件开头 G # 文件结尾 10G # 跳到第10行 :10 # 跳到第10行 ``` --- ## 查找与替换 ```bash # 查找 /text # 向下查找 ?text # 向上查找 n # 下一个匹配 N # 上一个匹配 * # 查找光标所在词(向下) # # 查找光标所在词(向上) # 替换 :s/old/new/ # 替换当前行第一个 :s/old/new/g # 替换当前行所有 :%s/old/new/ # 替换所有行第一个 :%s/old/new/g # 替换所有行 :10,20 s/^/#/ # 10-20行加注释 ``` --- ## 编辑命令 ```bash # 插入 i # 光标前插入 a # 光标后插入 o # 当前行下插入新行 O # 当前行上插入新行 A # 行尾插入 # 删除 x # 删除当前字符 dd # 删除当前行 5dd # 删除5行 d$ # 删除到行尾 dw # 删除一个词 # 复制粘贴 yy # 复制当前行 5yy # 复制5行 p # 粘贴到光标后 P # 粘贴到光标前 # 撤销 u # 撤销 U # 撤销整行 Ctrl+r # 重做(撤销撤销) ``` --- ## 可视模式 ```bash v # 逐字选择 V # 逐行选择 Ctrl+v # 块选择 # 选择后操作 y # 复制 d # 删除 x # 删除 > # 右缩进 < # 左缩进 ``` --- ## 多文件操作 ```bash :open file # 打开文件 :split file # 分屏打开 :bn # 下一个文件 :bp # 上一个文件 :args # 查看文件列表 :bd # 关闭当前文件 ``` --- ## 窗口操作 ```bash :split # 水平分屏 :vsplit # 垂直分屏 Ctrl+ww # 切换窗口 Ctrl+wh # 移向左窗口 Ctrl+wl # 移向右窗口 :close # 关闭窗口 :only # 只保留当前窗口 ``` --- ## 常用配置 ```bash :set number # 显示行号 :set hlsearch # 高亮搜索 :set ignorecase # 忽略大小写 :set tabstop=4 # Tab 宽度 :set expandtab # Tab 转空格 ``` --- ## 实用技巧 ```bash ddp # 交换两行 xp # 交换两字符 . # 重复上次命令 q: # 命令历史 :%!xxd # 十六进制查看 ``` --- ## Vim 教程 ```bash vimtutor # 进入教程 ``` --- > 参考:[Vim 命令详解](https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html)