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》