Vim 使用全攻略:从入门到精通
 
1. Vim 基础操作
 
1.1 模式切换
 
Vim 有多种模式,最常用的是:
 
- 普通模式(Normal Mode):默认模式,用于导航和命令操作(按 Esc 返回)。
 - 插入模式(Insert Mode):输入文本(按 i、a、o 进入)。
 - 可视模式(Visual Mode):选择文本(按 v、V、Ctrl+v)。
 - 命令行模式(Command Mode):执行命令(按 : 进入)。
 
 
1.2 光标移动
 
基本移动
 
| 按键 | 功能 | 
|---|
| h j k l | 左、下、上、右 | 
| w / b | 跳到下/上一个单词 | 
| 0 / ^ | 行首(0 是绝对行首,^ 是第一个非空白字符) | 
| $ | 行尾 | 
| gg | 文件开头 | 
| G | 文件末尾 | 
| Ctrl+d / Ctrl+u | 向下/向上翻半页 | 
 
快速跳转
 
| 命令 | 功能 | 
|---|
| :10 | 跳转到第 10 行 | 
| /{keyword} | 搜索 keyword(n 下一个,N 上一个) | 
| % | 在匹配的括号间跳转(如 (), {}) | 
 
1.3 文本编辑
 
复制、粘贴、删除
 
| 命令 | 功能 | 
|---|
| yy | 复制当前行 | 
| dd | 删除当前行 | 
| p / P | 粘贴到光标后/前 | 
| x | 删除当前字符 | 
| u | 撤销 | 
| Ctrl+ | 重做 | 
 
高级编辑
 
| 命令 | 功能 | 
|---|
| ci" | 修改 “” 内的内容 | 
| di( | 删除 () 内的内容 | 
| >> / << | 缩进/取消缩进 | 
| J | 合并当前行和下一行 | 
 
2. 高效编辑技巧
 
2.1 多文件操作
 
| 命令 | 功能 | 
|---|
| :e {file} | 打开新文件 | 
| :sp {file} | 水平分割窗口 | 
| :vsp {file} | 垂直分割窗口 | 
| Ctrl+w h/j/k/l | 切换窗口 | 
| :q / :qa | 关闭当前/所有窗口 | 
 
2.2 宏录制
 
- 按 q + 寄存器(如 q + a)开始录制。
 - 执行操作(如 iHelloj)。
 - 按 q 停止录制。
 - 按 @a 执行宏。
 
 
2.3 查找替换
 
| 命令 | 功能 | 
|---|
| :%s/old/new/g | 全局替换 old 为 new | 
| :%s/old/new/gc | 替换时确认 | 
| :10,20s/old/new/g | 替换 10-20 行的内容 | 
 
3. Vim 配置(.vimrc)
 
3.1 基本配置
 
set number          " 显示行号
set relativenumber  " 相对行号
set tabstop=4       " Tab 宽度
set expandtab       " Tab 转空格
set hlsearch        " 高亮搜索
set ignorecase      " 忽略大小写
syntax on           " 语法高亮
 
3.2 快捷键映射
 
nnoremap <C-s> :w<CR>    " Ctrl+S 保存
nnoremap <C-q> :q<CR>    " Ctrl+Q 退出
inoremap jj <Esc>        " 按 jj 退出插入模式
 
4. 插件管理(Vim-Plug)
 
4.1 安装 Vim-Plug
 
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
 
4.2 常用插件
 
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'           " 文件浏览器
Plug 'vim-airline/vim-airline'      " 状态栏美化
Plug 'tpope/vim-commentary'         " 快速注释
Plug 'neoclide/coc.nvim', {'branch': 'release'}  " 代码补全
call plug#end()
 
安装插件::PlugInstall
 
更新插件::PlugUpdate
 
5. 进阶技巧
 
5.1 分屏操作
 
| 命令 | 功能 | 
|---|
| :split | 水平分屏 | 
| :vsplit | 垂直分屏 | 
| Ctrl+w = | 等宽分屏 | 
| Ctrl+w r | 交换窗口 | 
 
5.2 终端模式
 
:terminal   " 打开终端
Ctrl+w N   " 返回普通模式
 
5.3 自定义命令
 
command! W :w   " 输入 `:W` 保存文件
 
6. 学习资源
 
- 交互式教程: vimtutor(终端输入)
 - 在线练习: OpenVim
 - 推荐书籍:《Practical Vim》