一、什么是 Vim?
Vim(Vi IMproved)是 Vi 编辑器的增强版本,是 Linux/Unix 下最常见的文本编辑器之一,具有如下特点:
Vim 是 Linux 系统下高效文本编辑器,支持多模式编辑与插件扩展。涵盖 Vim 基本概念、三种核心模式切换、常用命令速查、可视模式批量操作、多窗口与标签管理、插件安装配置(vim-plug)及个性化设置。通过掌握模式切换与插件配合,可显著提升开发效率。

Vim(Vi IMproved)是 Vi 编辑器的增强版本,是 Linux/Unix 下最常见的文本编辑器之一,具有如下特点:
安装 Vim:
# Debian/Ubuntu 系统
sudo apt install vim
# Red Hat/CentOS 系统
sudo yum install vim
Vim 有三个主要模式,分别是:
+----------------+
| 命令模式 |
| 输入 :wq 等 |
+----------------+
^
|
Esc
|
v
+----------------+
| 普通模式 (默认)|
| 浏览/编辑指令 |
+----------------+
^
|
i/a/o
|
v
+----------------+
| 插入模式 |
| 正常输入文本 |
+----------------+
| 操作 | 命令 |
|---|---|
| 启动编辑文件 | vim filename |
| 保存文件 | :w |
| 退出 Vim | :q |
| 保存并退出 | :wq or ZZ |
| 强制退出 | :q! |
| 命令 | 功能 |
|---|---|
i | 当前光标前插入 |
a | 当前光标后插入 |
o | 新起一行插入 |
I | 行首插入 |
A | 行尾插入 |
| 命令 | 功能 |
|---|---|
dd | 删除整行 |
yy | 复制整行 |
p | 粘贴到下一行 |
u | 撤销 |
Ctrl + r | 重做 |
/word | 向下搜索 word |
:%s/old/new/g | 全局替换 |
| 操作 | 命令 |
|---|---|
| 进入字符选择 | v |
| 进入行选择 | V |
| 进入块选择(列模式) | Ctrl + v |
//):Ctrl + vShift + i 输入注释符号 //Esc,Vim 会自动在每一行前插入 //示例效果:
Before:
int a = 1;
int b = 2;
int c = 3;
After:
int a = 1; //
int b = 2; //
int c = 3; //
:split file2.c # 水平分屏
:vsplit file3.c # 垂直分屏
Ctrl + w + w # 窗口之间切换
:tabnew # 新建标签页
gt # 下一个标签页
gT # 上一个标签页
:tabclose # 关闭标签页
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
~/.vimrc 添加插件:call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'
Plug 'vim-airline/vim-airline'
Plug 'junegunn/fzf.vim'
Plug 'ycm-core/YouCompleteMe'
call plug#end()
:PlugInstall
| 插件名 | 说明 |
|---|---|
| NERDTree | 树形目录浏览 |
| vim-airline | 状态栏美化 |
| fzf.vim | 文件模糊查找 |
| YouCompleteMe | 自动补全引擎 |
| vim-surround | 快速修改引号、括号 |
| auto-pairs | 自动括号闭合 |
编辑 ~/.vimrc:
set number " 显示行号
syntax on " 启用语法高亮
set tabstop=4 " 设置 Tab 宽度
set expandtab " 将 Tab 转为空格
set shiftwidth=4 " 设置缩进宽度
set autoindent " 自动缩进
set relativenumber " 显示相对行号
set clipboard=unnamedplus " 共享系统剪贴板
Vim 是一款'易学难精'的编辑器,初期上手门槛略高,但一旦掌握后将极大提升你在文本编辑与编码过程中的效率。掌握模式切换、配合插件使用,再配合一些个性化设置,Vim 将成为你高效开发的利器。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online