跳至正文

终端 > 内置代码编辑器

代码编辑器 Vim 键绑定

在 ChatGPT 中打开 ↗
关于此页面询问 ChatGPT
在 Claude 中打开 ↗
关于此页面询问 Claude
已复制!

在 Warp 的代码编辑器中使用 Vim 键绑定进行键盘驱动的导航和编辑。

Warp 的内置代码编辑器支持原生 Vim 键绑定,用于驱动键盘导航和编辑。启用 Vim 模式可直接在 Warp 中使用熟悉的动作、文本对象、可视模式、寄存器和编辑命令,无需切换到外部编辑器。

Vi 系列程序(包括 Vim 和 Neovim)是模态文本编辑器,允许通过键盘驱动文本编辑。Vi 风格的键绑定因其在导航和操作代码方面的高速和精确而在开发人员中特别受欢迎。Warp 的 代码编辑器 现在包括对 Vim 键绑定(也称为 Vim 模式)的原生支持,在您的编码工作流程中直接提供熟悉的编辑体验。

代码编辑器中的 Vim 模式使用与输入编辑器相同的设置开关。要启用:

  • 通过 命令面板,搜索“Vim Keybindings”。
  • 通过 设置 > 功能 > 文本编辑,切换“使用 Vim 键绑定编辑代码和命令”。

与输入编辑器不同,代码编辑器中的 Vim 实现从普通模式 (Normal mode) 开始。

目前,Warp 仅支持默认的 Vim 键绑定。

一个例外是退出插入模式的键盘快捷键,它可以在 设置 > 键盘快捷键 > 退出 Vim 插入模式 下重新绑定,或者通过 命令面板 搜索“Exit Vim Insert Mode”。

以下是迄今为止在 Warp 中实现的 Vim 功能列表。

有关详细信息,请参阅 Vim 文档:移动

命令说明
h, j, k, l单字符移动
<space>, <backspace>带换行的单字符移动
w, W, b, B, e, E单词移动
ge, gE上一个单词的末尾
$行尾
0行首
^行内第一个非空白字符
%跳转到匹配的括号
[, ]上一个/下一个不匹配的括号
_当前行的行首
+下一行第一个非空白字符
-上一行第一个非空白字符
{, }上一个/下一个段落
命令说明
gg, G跳转到第一行/最后一行
命令说明
r替换光标下的字符
d, D删除一个范围或对象
c, C修改一个范围或对象(删除,然后进入插入模式)
s, S替换(类似于修改,但只能删除光标所在位置)
x, X删除光标下的字符
y, Y抽出(复制)到剪贴板
p, P从剪贴板粘贴
u, ⌃r撤销、重做
~切换光标下的字符大小写
gu将光标下的字符变为小写(可视模式下为 u
gU将光标下的字符变为大写(可视模式下为 U
J合并当前行和下一行
.重复上次编辑
gcc切换当前行的注释
gc切换可视模式选中内容的注释

有关详细信息,请参阅 Vim 文档:编辑

命令说明
i内部(不包括文本对象中的定界符)
a环绕(包括文本对象中的定界符)
w, W空白分隔的字符串(单词)
", ', ```引号分隔的字符串
(, {, [括号/方括号分隔的字符串

有关详细信息,请参阅 Vim 文档:文本对象

命令说明
t, T, f, F在行内查找下一个/上一个匹配的字符
;以相同方向重复上一次字符搜索
,以相反方向重复上一次字符搜索

有关详细信息,请参阅 Vim 文档:左右移动

与 Vim 不同,通用搜索命令不会在缓冲区内搜索。相反,它们会打开 Warp 的原生命令搜索。

命令说明
/, ?, *, #打开 Warp 命令搜索
命令说明
i在光标前插入文本
I在行内第一个非空白字符前插入文本
a在光标后追加文本
A在行尾追加文本
o在光标下方开启新行并插入文本
O在光标上方开启新行并插入文本
v可视字符模式
V可视行模式

有关详细信息,请参阅 Vim 文档:插入Vim 文档:可视模式

命令说明
"寄存器前缀

Warp 目前支持以下寄存器

寄存器名称说明
az, AZ命名寄存器
+系统剪贴板
*系统剪贴板
"未命名寄存器,包含上次删除或抽取的文本

有关详细信息,请参阅 Vim 文档:寄存器

报告错误和请求功能的最佳方式是通过 Warp 的 GitHub Issues 页面。请注明该问题或请求是针对 Vim 键绑定的。