Vim是一款终端编辑器,轻量但功能强大,本指南适用于 Linux/macOS/Windows 用户
# Vim的安装
# Linux
Debian/Ubuntu 极其衍生发行版本
sudo apt install vim
CenteOS/RHEL 及其衍生版本
sudo yum install vim
Arch
sudo pacman -S vim
# macOS
brew install vim
# 或者使用macvim
brew install macvim
# Windows
1.官网下载安装包
2.或者使用Chocolate
choco install vim
# Vim的几种模式
Vim 共有4中模式,分别为正常模式,插入模式,可视模式,命令行模式,后三种模式均可使用Esc退出至正常模式
| 模式 | 进入方式 | 退出方式 | 用途 |
|---|---|---|---|
| 正常模式 | Esc 或 Ctrl+[ |
自动进入其他模式 | 导航/操作文本 |
| 插入模式 | i / a / o |
Esc |
编辑文本 |
| 可视模式 | v / V / Ctrl+v |
Esc |
选择文本块 |
| 命令行模式 | : |
Enter执行后退出 |
执行命令/保存/退出 |
# 配置文件
# 位置
在linux中默认情况下vim的配置位置如下
系统 vimrc 文件: "/etc/vimrc"
用户 vimrc 文件: "$HOME/.vimrc"
第二用户 vimrc 文件: "~/.vim/vimrc"
第三用户 vimrc 文件: "~/.config/vim/vimrc"
用户 exrc 文件: "$HOME/.exrc"
defaults 文件: "$VIMRUNTIME/defaults.vim"
$VIM 预设值: "/usr/share/vim"
我们也可以通过命令 vim --version查看其配置文件所在地,通过此命令我们也能知道当前vim支持的一些功能
# 常用的配置
" 基础设置
set number " 显示行号
set relativenumber " 相对行号
set tabstop=4 " Tab 显示宽度
set shiftwidth=4 " 自动缩进宽度
set expandtab " 将Tab转为空格
set cursorline " 高亮当前行
syntax on " 语法高亮
" 快捷键映射
nnoremap <C-s> :w<CR> " Ctrl+S 保存
inoremap jj <Esc> " jj 退出插入模式
# 一些常用的快捷键
这些快捷键均应在正常模式下使用,而不是插入模式,注意区分大小写
# 移动
| 快捷键 | 功能 |
|---|---|
h j k l |
左/下/上/右 |
0 |
行首 |
^ |
行首非空字符 |
$ |
行尾 |
gg |
文件开头 |
G |
文件末尾 |
Ctrl+f |
下翻页 |
Ctrl+b |
上翻页 |
# 编辑操作
| 快捷键 | 功能 |
|---|---|
i |
光标前插入 |
a |
光标后插入 |
o |
下方新建行插入 |
dd |
删除当前行 |
yy |
复制当前行 |
p |
粘贴 |
u |
撤销 |
Ctrl+r |
重做 |
> > |
增加缩进 |
< < |
减少缩进 |
# 搜索替换
/pattern " 向前搜索 例如 /hello 即搜索hello
?pattern " 向后搜索
n " 下一个匹配项
N " 上一个匹配项
:%s/old/new/g " 全局替换
:10,20s/old/new/g " 10-20行替换
# 常用命令
:q " 退出
:q! " 强制退出不保存
:w " 保存
:wq " 保存并退出
:sp file " 水平分割窗口
:vsp file " 垂直分割窗口
Ctrl+ww " 切换窗口
:!ls " 执行 shell 命令
:r filename " 插入文件内容
:set paste " 粘贴模式(防格式错乱)
更多命令请参考此处
另外附上一张Vim键位图

# 效率提升技巧
-
组合命令示例:
5dd→ 删除5行y3w→ 复制3个单词c$→ 修改到行尾
-
标记跳转:
ma设置标记 a'a跳转到标记 a
-
文件浏览:
Ctrl+w+h/j/k/l " 在窗口间导航 -
插件支持
可以在 idea,vscode 中安装vim插件
# 学习资源推荐
- 交互式教程:
vimtutor(终端输入命令) - 图形练习:https://vim-adventures.com/
掌握 Vim 的关键:不必去死记硬背,在需要使用什么的时候查看对照表,反复使用即可