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 基本配置
vim
set number " 显示行号
set relativenumber " 相对行号
set tabstop=4 " Tab 宽度
set expandtab " Tab 转空格
set hlsearch " 高亮搜索
set ignorecase " 忽略大小写
syntax on " 语法高亮
3.2 快捷键映射
vim
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
bash
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
4.2 常用插件
vim
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 终端模式
vim
:terminal " 打开终端
Ctrl+w N " 返回普通模式
5.3 自定义命令
vim
command! W :w " 输入 `:W` 保存文件
6. 学习资源
- 交互式教程: vimtutor(终端输入)
- 在线练习: OpenVim
- 推荐书籍:《Practical Vim》