Vim 使用全攻略:从入门到精通

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 宏录制
  1. 按 q + 寄存器(如 q + a)开始录制。
  2. 执行操作(如 iHelloj)。
  3. 按 q 停止录制。
  4. 按 @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》
相关推荐
AI进化营-智能译站9 小时前
Jazzy ROS2入门指南系列05-配置VsCode实现ROS2项目开发
ide·vscode·ai·编辑器
小短腿的代码世界17 小时前
Qt量化策略编辑器深度解析:从DSL解析到可视化编排的完整架构
qt·架构·编辑器
咬人喵喵17 小时前
五一劳动节 SVG 交互图文案例大全
低代码·微信·编辑器·交互·svg
啾啾啾66617 小时前
VScode用cookie登录时,输入cookie值后按回车没反应
ide·vscode·编辑器
fqbqrr17 小时前
2604,vim可定制对话框
vim
Misnice18 小时前
Cursor 常用快捷键总结
编辑器
望眼欲穿的程序猿1 天前
苹果系统使用VsCode开发QT
ide·vscode·编辑器
其实防守也摸鱼2 天前
带你了解与配置phpmyadmin
笔记·安全·网络安全·pdf·编辑器·工具·调试
Rsun045512 天前
Oracle中常用语法
编辑器
非黑皆白2 天前
配置Vscode Claude Code 插件使用deepseek-v4-pro模型
ide·vscode·编辑器