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》
相关推荐
小e说说14 小时前
主流活动策划工具特点比较
编辑器
winlife_15 小时前
把 Godot 编辑器接入 AI:Funplay MCP for Godot 介绍
人工智能·编辑器·godot·ai编程·游戏开发·mcp
@noNo20 小时前
Visual Studio Code添加自定义大模型API
ide·vscode·编辑器
winlife_20 小时前
把 Cocos Creator 编辑器接入 AI:Funplay MCP for Cocos 介绍
人工智能·编辑器·ai编程·cocos creator·游戏开发·claude·mcp
拉里呱唧21 小时前
在线可视化HTML编辑器横评:8款拖拽式工具的实测对比
前端·编辑器·html
HezhezhiyuLe21 小时前
无界内嵌编辑器键盘事件失效
编辑器·计算机外设
winlife_21 小时前
嵌入式 MCP server vs 外挂桥接进程:引擎编辑器自动化的架构取舍
架构·自动化·编辑器·游戏引擎·架构设计·mcp·编辑器自动化
时空自由民.1 天前
vim入门配置教程
编辑器·vim·excel
梦想家加一2 天前
vscode为什么下载了汉化插件却不生效
ide·vscode·编辑器
Irene19912 天前
nano 和 vim(Linux 默认安装)的区别(文本编辑器 vs 专业编辑器)
linux·vim·nano