基本配置
Vim 的配置文件是 ~/.vimrc
,可以在这个文件中添加自定义设置和插件。例如:
" 开启语法高亮
syntax enable
" 显示行号
set number
" 调节最大可用内存
set maxmempattern=5120
" 启用状态栏
set laststatus=2
" 如果搜索包含大写字母,则区分大小写
set smartcase
" 高亮搜索匹配项
set hlsearch
" 启用智能缩进
set smartindent
" 使用系统剪贴板
set clipboard=unnamed
模式切换
- 从正常模式进入插入模式:
i
、I
、a
、A
等。 - 从插入模式返回正常模式:
Esc
。 - 从正常模式进入命令模式:
:
。
一、正常模式
1、移动
移动到文件头
gg
移动到文件尾
G
移动某一行(如第3行)
3gg
(:3)移动到行首
^
(fn + ←)移动到行尾
$
(fn + →)光标左右
hl
(← →)光标上下
kj
(↑ ↓)光标右单词
w
(联想word)(⇧ + ←)光标左单词
b
(联想back)(⇧ + →)
2、翻页
- 向下翻一页
⌃ + f
(联想f-forward)(⇧ + ↓) - 向上翻一页
⌃ + b
(联想b-backward)(⇧ + ↑) - 向下翻半页
⌃ + d
(联想d-down) - 向上翻半页
⌃ + u
(联想u-up)
3、删除复制和粘贴
-
x
:删除光标所在字符 -
dw
:删除从光标位置到下一个单词的开头 -
dd
:删除当前行 -
d$
:删除从光标位置到行尾 -
d0
:删除从光标位置到行首 -
yy
或Y
:复制当前行 -
yw
:复制从光标位置到下一个单词的开头 -
y$
:复制从光标位置到行尾 -
p
:在光标后粘贴 -
P
:在光标前粘贴
4、撤销
- 撤销
u
- 反撤销
⌃+r
x d dd gg/G p粘贴 yy复制行 eg:跳到4行:4gg;删除10行:10dd
二、插入模式
-
i
:在光标前插入 -
I
:在行首插入 -
a
:在光标后插入 -
A
:在行尾插入 -
o
:在当前行下方插入新行 -
O
:在当前行上方插入新行 -
r
:替换光标所在字符 -
R
:进入替换模式,可以连续替换多个字符
三、命令模式
1、基础命令
-
:e!
恢复到最初状态 -
:set number
显示行号(set nu
) -
:set nonumber
不显示行号(set nonu
) -
:wq
保存退出 -
:wq!
强制保存退出 -
:! xxx
执行外部命令(例如:!go run %
)
2、查找和替换
-
/pattern
:向前查找模式 -
?pattern
:向后查找模式 -
n
:查找下一个匹配 -
N
:查找上一个匹配 -
:s/old/new
:替换当前行第一个匹配 -
:s/old/new/g
:替换当前行所有匹配 -
:%s/old/new/g
:替换整个文件中的所有匹配(例如%s/Z009303/Z010449/g
) -
:noh
:==取消搜索==
四、可视模式
-
v
:进入字符可视模式 -
V
:进入行可视模式 -
Ctrl + v
:进入块可视模式 - 在可视模式下可以选中内容,然后进行操作,如删除(
d
)、复制(y
)、粘贴(p
)等。
高级功能
-
缓冲区(Buffer):Vim 可以同时编辑多个文件,每个文件被称为一个缓冲区。
-
:e filename
:编辑一个新文件 -
:bnext
或:bn
:切换到下一个缓冲区 -
:bprev
或:bp
:切换到上一个缓冲区 -
:bd
:关闭当前缓冲区
-
-
窗口(Window):Vim 支持分屏显示,可以同时查看多个文件。
-
:split filename
或:sp filename
:水平分割窗口并打开文件 -
:vsplit filename
或:vsp filename
:垂直分割窗口并打开文件 -
Ctrl + w + w
:在窗口间切换 -
Ctrl + w + q
:关闭当前窗口
-
-
标签页(Tab):Vim 支持标签页,可以同时管理多个窗口。
-
:tabnew filename
:在新标签页中打开文件 -
:tabnext
或:tabn
:切换到下一个标签页 -
:tabprev
或:tabp
:切换到上一个标签页
-