Vim 作为终端神器,高效的核心在于「配置优化」和「指令熟练」
我把我常用的指令、.vimrc 配置、主题设置整理了一下,一步步带你打造舒适的 Vim 编辑环境,新手也能直接复制使用。
Vim 核心指令速查表
指令太多记不住?先把下面这些常用的练熟,日常编辑基本够用了。
模式切换
| 指令 | 功能 |
|---|---|
i |
光标前插入 |
I |
行首插入 |
a |
光标后插入 |
A |
行尾插入 |
v |
可视模式(选字符) |
V |
可视行模式(选整行) |
Ctrl+v |
可视块模式 |
Esc / Ctrl+[ |
返回正常模式 |
R |
替换模式(覆盖输入) |
光标移动
| 指令 | 功能 |
|---|---|
h / j / k / l |
左 / 下 / 上 / 右 |
gg |
文件首行 |
G |
文件末行 |
nG / :n |
跳到第 n 行 |
0 |
行首(绝对) |
^ |
行首第一个非空字符 |
$ |
行尾 |
w |
下一词首 |
b |
上一词首 |
e |
下一词尾 |
Ctrl+f |
下翻一页 |
Ctrl+b |
上翻一页 |
Ctrl+d |
下翻半页 |
Ctrl+u |
上翻半页 |
H / M / L |
屏幕顶部 / 中间 / 底部 |
编辑操作
| 指令 | 功能 |
|---|---|
x |
删除光标所在字符 |
X |
删除光标前一个字符 |
dd |
删除整行 |
ndd |
删除 n 行 |
D |
删除到行尾 |
dw |
删除到下一词尾 |
yy / Y |
复制整行 |
nyy |
复制 n 行 |
yw |
复制到下一词尾 |
p |
粘贴到光标后 |
P |
粘贴到光标前 |
u |
撤销 |
Ctrl+r |
重做 |
>> |
右缩进 |
<< |
左缩进 |
== |
自动缩进 |
搜索与替换
| 指令 | 功能 |
|---|---|
/pattern |
向下搜索 |
?pattern |
向上搜索 |
n |
下一个匹配 |
N |
上一个匹配 |
* |
向下搜索光标所在单词 |
# |
向上搜索光标所在单词 |
:s/old/new |
替换当前行第一个 |
:s/old/new/g |
替换当前行所有 |
:%s/old/new/g |
替换全文所有 |
:%s/old/new/gc |
替换全文(逐个确认) |
:nohl |
清除高亮 |
~/.vimrc 配置文件
Vim 的个性化配置都在 ~/.vimrc 里,改完永久生效。
让配置生效:
改完后要么重启 Vim,要么在 Vim 里执行:
1 | :source ~/.vimrc |
语法要点
- 注释用
"开头 - 配置项用
set,比如set number - 大小写不敏感,但推荐用小写
vimrc 配置
这是我自己用的配置,直接复制到 ~/.vimrc 就能用:
1 | color desert |
想改什么直接改对应行就行,都有注释。
主题设置
内置主题
Vim 自带 17 种主题,直接用:
| 主题名 | 风格 |
|---|---|
| desert | 暖色沙漠风(我用的这个) |
| slate | 冷色调,适合夜间 |
| default | 默认 |
| darkblue | 深蓝,高对比度 |
| evening | 柔和,护眼 |
| elflord | 绿黄配色 |
| koehler | 高对比度,适合编程 |
| peachpuff | 浅色,适合白天 |
| torte | 深色系 |
| zellner | 简约 |
第三方主题
想要更多选择可以看看这些:
| 主题 | 地址 |
|---|---|
| Solarized | https://github.com/altercation/vim-colors-solarized |
| Gruvbox | https://github.com/morhetz/gruvbox |
| Molokai | https://github.com/tomasr/molokai |
| Everforest | https://github.com/sainnhe/everforest |
| Tokyonight | https://github.com/folke/tokyonight.nvim |
| Ayu | https://github.com/ayu-theme/ayu-vim |
| Monokai | https://github.com/sickill/vim-monokai |
安装方法各自仓库里都有,就不展开了。
更换主题
临时换:
1 | :colorscheme slate |
永久换就改 .vimrc 里那行 color desert,把 desert 换成你想要的主题名。
看有哪些可用的主题:输入 :colorscheme 然后按 Tab 键。
最后
这套配置用下来,日常编辑和写代码都够用了。后面想玩更花的,可以研究下插件(NERDTree、YouCompleteMe 之类的),或者自己定义快捷键。