跳至正文

终端 > 现代文本编辑

输入编辑器 Vim 快捷键

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

使用输入编辑器 Vim 快捷键(也称为 Vim 模式)在 Warp 中快速编辑命令。

Vi 系列程序(包括 Vim 和 Neovim)是模态文本编辑器,支持键盘驱动的文本编辑。包括 bashzsh 在内的多种 Shell 都实现了 vi 风格的快捷键。Warp 的输入编辑器是原生构建的,旨在支持更现代的文本编辑体验,这意味着它取代了 Shell 原有的编辑器功能。Warp 拥有自己实现的 Vim 快捷键(也称为 Vim 模式),供您使用。

要在 Warp 的输入编辑器中手动切换 Vim 快捷键:

  • 通过 命令面板,搜索“Vim Keybindings”。
  • 通过 Settings (设置) > Features (功能) > Text Editing (文本编辑),切换“Edit commands with Vim keybindings”。

bashzsh 的 vi 模式实现一样,编辑器以插入模式启动。按 CTRL-CENTER 可清除任何挂起的命令状态。

目前,Warp 仅支持默认的 Vim 快捷键。

唯一的例外是退出插入模式的键盘快捷键,该键可以在 Settings (设置) > Keyboard shortcuts (键盘快捷键) > Exit Vim Insert Mode 下重新绑定,或者通过 命令面板 搜索“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合并当前行和下一行
.重复上一次编辑

请参阅 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 快捷键的。