Vim 模式
Obsidian 内置了 Vim 模式支持,让熟悉 Vim 的用户可以使用高效的 Vim 键位进行编辑。
启用 Vim 模式
开启步骤
- 打开「设置」
- 进入「编辑器」选项
- 找到「Vim 键位绑定」
- 开启开关
模式说明
Vim 模式包含三种基本模式:
| 模式 | 说明 | 进入方式 |
|---|---|---|
| 普通模式 | 导航和操作 | Esc |
| 插入模式 | 输入文字 | i, a, o 等 |
| 可视模式 | 选择文本 | v, V, Ctrl+V |
基本操作
光标移动
基本移动:
| 按键 | 功能 |
|---|---|
h | 左移 |
j | 下移 |
k | 上移 |
l | 右移 |
单词移动:
| 按键 | 功能 |
|---|---|
w | 下一个单词开头 |
W | 下一个长单词开头 |
b | 上一个单词开头 |
B | 上一个长单词开头 |
e | 当前/下一个单词结尾 |
E | 当前/下一个长单词结尾 |
行内移动:
| 按键 | 功能 |
|---|---|
0 | 行首 |
^ | 行首非空字符 |
$ | 行尾 |
f{字符} | 向后查找字符 |
F{字符} | 向前查找字符 |
页面移动:
| 按键 | 功能 |
|---|---|
Ctrl+U | 上翻半页 |
Ctrl+D | 下翻半页 |
Ctrl+B | 上翻整页 |
Ctrl+F | 下翻整页 |
gg | 文件开头 |
G | 文件结尾 |
{数字}G | 跳转到指定行 |
插入操作
进入插入模式:
| 按键 | 功能 |
|---|---|
i | 当前位置插入 |
I | 行首插入 |
a | 后一位插入 |
A | 行尾插入 |
o | 下方新建行插入 |
O | 上方新建行插入 |
s | 删除当前字符插入 |
S | 删除整行插入 |
c{范围} | 修改指定范围 |
编辑操作
删除操作:
| 按键 | 功能 |
|---|---|
x | 删除当前字符 |
X | 删除前一个字符 |
dd | 删除整行 |
dw | 删除到单词结尾 |
d$ | 删除到行尾 |
d0 | 删除到行首 |
dG | 删除到文件结尾 |
dgg | 删除到文件开头 |
修改操作:
| 按键 | 功能 |
|---|---|
r{字符} | 替换当前字符 |
R | 进入替换模式 |
cw | 修改单词 |
c$ | 修改到行尾 |
cc | 修改整行 |
复制粘贴:
| 按键 | 功能 |
|---|---|
yy | 复制整行 |
yw | 复制单词 |
y$ | 复制到行尾 |
p | 在后粘贴 |
P | 在前粘贴 |
撤销重做
| 按键 | 功能 |
|---|---|
u | 撤销 |
Ctrl+R | 重做 |
. | 重复上一个操作 |
可视模式
进入可视模式
| 按键 | 功能 |
|---|---|
v | 字符选择 |
V | 行选择 |
Ctrl+V | 块选择 |
可视模式操作
选择后可执行:
d- 删除选中y- 复制选中c- 修改选中>- 增加缩进<- 减少缩进=- 自动格式化
搜索与替换
搜索
| 按键 | 功能 |
|---|---|
/ | 向下搜索 |
? | 向上搜索 |
n | 下一个匹配 |
N | 上一个匹配 |
* | 搜索当前单词 |
# | 反向搜索当前单词 |
替换
基本语法:
:s/old/new/ # 替换当前行第一个
:s/old/new/g # 替换当前行所有
:%s/old/new/g # 替换全文所有
:%s/old/new/gc # 替换全文并确认范围替换:
:10,20s/old/new/g # 替换第 10-20 行进阶技巧
宏录制
录制重复操作:
q{寄存器}开始录制- 执行操作序列
q结束录制@{寄存器}执行宏@@重复上一个宏{数字}@{寄存器}执行多次
标记
在文件中设置标记:
| 按键 | 功能 |
|---|---|
m{字母} | 设置标记 |
'{字母} | 跳转到标记 |
| ```{字母}` | 跳转到标记精确位置 |
寄存器
使用寄存器存储内容:
| 寄存器 | 说明 |
|---|---|
"{字母}y | 复制到指定寄存器 |
"{字母}p | 从指定寄存器粘贴 |
:reg | 查看所有寄存器 |
窗口操作
| 按键 | 功能 |
|---|---|
Ctrl+W S | 水平分屏 |
Ctrl+W V | 垂直分屏 |
Ctrl+W H/J/K/L | 切换窗口 |
Ctrl+W Q | 关闭窗口 |
Obsidian 特有功能
Vim 与 Obsidian 结合
Markdown 特定操作:
>>- 增加缩进(列表层级)<<- 减少缩进gcc- 注释/取消注释当前行
链接操作:
- 使用
[[触发链接面板 - 在普通模式下
gf打开链接
自定义键位
通过插件自定义 Vim 键位:
- 安装「Vimrc Support」插件
- 创建
.obsidian.vimrc文件 - 添加自定义配置
示例配置:
vim
" 在 Obsidian.vimrc 中
" 设置 leader 键
let mapleader = ","
" 快速保存
nmap <leader>w :w<CR>
" 快速插入当前日期
nmap <leader>d :put =strftime('%Y-%m-%d')<CR>
" 快速插入时间戳
nmap <leader>t :put =strftime('%H:%M:%S')<CR>
" 快速创建链接
nmap <leader>l i[[]]<Esc>hhi学习建议
学习路径
- 第一阶段:掌握基本移动(hjkl)
- 第二阶段:学习插入模式切换
- 第三阶段:掌握编辑命令(d, y, c)
- 第四阶段:学习搜索替换
- 第五阶段:掌握可视模式
- 第六阶段:学习宏和进阶技巧
练习方法
- 使用
vimtutor命令学习基础 - 每天学习 1-2 个新命令
- 逐步替代鼠标操作
- 保持耐心,持续练习
常见误区
- 不要在插入模式下使用方向键
- 尽量使用动作+范围(如
dw)而非多次删除 - 善用
.重复操作
常用组合命令
| 组合 | 功能 |
|---|---|
daw | 删除一个单词 |
ciw | 修改一个单词 |
di" | 删除引号内内容 |
ci( | 修改括号内内容 |
yyp | 复制并粘贴当前行 |
ddp | 交换当前行与下一行 |
J | 合并当前行与下一行 |
提示
Vim 学习曲线较陡,但一旦掌握,编辑效率会大幅提升。建议从基础开始,循序渐进!
INFO
在 Obsidian 中,可以随时使用 Esc 返回普通模式,这是最重要的按键!