在 Linux 的世界中,Vim 是一款被无数开发者喜爱和追捧的强大文本编辑器。如果你厌倦了鼠标点来点去,不妨试试 Vim —— 一款专注于高效键盘操作的“终极利器”。本文将带你全面了解 Vim 的基本概念、模式切换、常用命令、窗口管理,并附上图示和插件推荐,助你从入门走向高效开发之路。
Vim(Vi IMproved)是 Vi 编辑器的增强版本,是 Linux/Unix 下最常见的文本编辑器之一,具有如下特点:
安装 Vim:
# Debian/Ubuntu 系统
sudo apt install vim
# Red Hat/CentOS 系统
sudo yum install vimVim 有三个主要模式,分别是:
+----------------+
| 命令模式 : |
| 输入 :wq等 |
+----------------+
▲
|
| Esc
▼
+----------------+
| 普通模式 (默认)|
| 浏览/编辑指令 |
+----------------+
▲
|
i/a/o | I/A/O
▼
+----------------+
| 插入模式 |
| 正常输入文本 |
+----------------+
操作 | 命令 |
|---|---|
启动编辑文件 | 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 |
//):1. 进入块选择模式 Ctrl + v
2. 使用上下键选中多行
3. 输入 Shift + i 输入注释符号 //
4. 然后按 Esc,Vim 会自动在每一行前插入 //图示如下(列选择插入 //):
Before: After:
int a = 1; // int a = 1;
int b = 2; // int b = 2;
int c = 3; // 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()打开 Vim 输入命令:
: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 将成为你高效开发的利器。