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》
相关推荐
小李不困还能学2 小时前
VSCode远程开发免密码登录
ide·vscode·编辑器
?? Daisy3 小时前
Codex 接入第三方 API:CLI 与编辑器扩展的配置方法(2026-10)
编辑器
初雪云1 天前
UniApp 云打包拿到 IPA 后,真正的发布工作才刚开始
ios·自动化·编辑器·产品经理·iphone
幸运小圣2 天前
Buffer 新手入门【Node.js】
node.js·编辑器·vim
*wait for?2 天前
VScode使用uv-创建python虚拟环境
ide·vscode·编辑器
lzx_0022 天前
Linux 开发工具(二) 简单认识一下编辑器 —— vim
linux·编辑器·vim
此生决int3 天前
Linux系列(04)——基础开发工具(上)软件包管理器、vim、gcc/g++
linux·服务器·vim
golang学习记4 天前
VSCode AI完成任务的仪式感:撒礼花
ide·vscode·编辑器
geats人山人海4 天前
linux 2 基本操作与vim
linux·运维·vim
mklpo1476 天前
在win7 sp1 系统上安装最新版 的 Visual Studio Code。2026-10-04
ide·vscode·编辑器