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》
相关推荐
陈言必行3 天前
Unity 性能优化 之 编辑器创建资源优化( 工作流 | 场景 | 预制体)
unity·编辑器·游戏引擎
CAE虚拟与现实4 天前
VSCode中的下载VSIX是指什么?
ide·vscode·编辑器
CAE虚拟与现实4 天前
VSCode官方汉化包
ide·vscode·编辑器·vscode汉化
CAE虚拟与现实4 天前
VSCode创建Python项目和运行py文件
ide·vscode·编辑器
患得患失9494 天前
【前端】【高德地图WebJs】【知识体系搭建】面要素知识点——>多边形,圆形, 矩形,图形编辑器
前端·编辑器·高德地图·amap
网硕互联的小客服4 天前
如何解决Ubuntu下vi编辑器方向键变字母的问题?
编辑器
return(b,a%b);5 天前
VSCode 远程开发连接(glibc<2.28)
ide·vscode·编辑器
speop5 天前
vscode使用tmux技巧
ide·vscode·编辑器
人工干智能5 天前
建自己的Python项目仓库,使用工具:GitHub(远程仓库)、GitHub Desktop(版本控制工具)、VSCode(代码编辑器)
python·编辑器·github
程序员三明治5 天前
Python编辑器的安装及配置(Pycharm、Jupyter的安装)从0带你配置,小土堆视频
python·pycharm·编辑器