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》
相关推荐
VidDown6 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
VidDown6 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
夜猫逐梦6 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
VidDown6 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
爱就是恒久忍耐6 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
bloglin999996 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
zyplayer-doc6 天前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新
古德new6 天前
鸿蒙PC迁移:Photoflare Qt 图片编辑器鸿蒙PC适配全记录
qt·编辑器·harmonyos
春日见7 天前
vscode的AI编程插件推荐:
大数据·ide·vscode·算法·机器学习·编辑器·ai编程
jieshenai7 天前
VScode sys.path,并使CTRL+左键可访问源码
ide·vscode·编辑器