VSCode键盘映射:将你的Vim或Emacs习惯带过来
发布时间 - 2026-01-02 00:00:00 点击率:次可通过安装Vim扩展、启用内置Emacs键绑定、自定义keybindings.json及禁用冲突快捷键,在VSCode中实现Vim或Emacs操作习惯迁移。
如果您在使用 VSCode 时习惯 Vim 或 Emacs 的键盘操作方式,但默认编辑器不支持这些键绑定,则可以通过配置键盘映射实现行为迁移。以下是将 Vim 或 Emacs 操作习惯引入 VSCode 的具体方法:
本文运行环境:MacBook Air,macOS Sequoia。
一、启用 Vim 模式插件
Vim 模式需依赖第三方扩展提供完整键绑定支持,VSCode 原生不内置 Vim 行为。安装后可复现普通模式、插入模式、可视模式等核心交互逻辑。
1、打开 VSCode,点击左侧活动栏的扩展图标(四个方块组成的图标)。
2、在搜索框中输入 Vim,找到由 vscodevim 官方维护的 Vim 扩展。
3、点击“安装”,安装完成后重启 VSCode。
4、打开任意文本文件,按 Esc 键确认进入普通模式,光标移动和命令输入即生效。
二、配置 Emacs 键绑定模式
VSCode 内置对 Emacs 键绑定的部分支持,无需额外插件即可启用基础快捷键,如 Ctrl+A(行首)、Ctrl+E(行尾)、Ctrl+K(剪切至行尾)等。
1、按下 Cmd+, 打开设置界面。
2、在右上角搜索框中输入 keybindings,点击“键盘快捷方式”选项卡。
3、点击右上角三个点图标,选择“打开键盘快捷方式(JSON)”。
4、在打开的 keybindings.json 文件中添加以下内容:
"{ "key"
: "ctrl+a", "command": "cursorHome", "when": "textInputFocus && !editorReadonly" }"
"{ "key": "ctrl+e", "command": "cursorEnd", "when": "textInputFocus && !editorReadonly" }"
三、自定义键映射 JSON 配置
通过直接编辑 keybindings.json,可精确覆盖或新增任意按键组合,适用于 Vim 和 Emacs 风格之外的个性化需求,例如将 jj 映射为 Esc(Vim 插入模式退出快捷键)。
1、按下 Cmd+Shift+P 打开命令面板。
2、输入 Preferences: Open Keyboard Shortcuts (JSON) 并回车。
3、在数组内添加如下对象:
"{ "key": "j j", "command": "extension.vim_escape", "when": "editorTextFocus && vim.mode == 'InsertMode'" }"
4、保存文件,该映射立即生效,无需重启。
四、禁用冲突的原生快捷键
部分 VSCode 默认快捷键会与 Vim 或 Emacs 行为冲突,例如 Ctrl+Shift+P 在 Vim 普通模式下应被拦截,否则触发命令面板而非光标移动。
1、打开 keybindings.json 文件。
2、查找包含 ctrl+shift+p 的已有绑定项。
3、在其末尾添加 "when": "false" 字段,使该快捷键全局失效。
4、另起一行添加新绑定,例如将 leader+shift+p 作为替代命令面板触发方式。
# vscode
# js
# json
# macbook
# mac
# ai
# macos
# cos
# 对象
# emacs
# vim
# 绑定
# 自定义
# 按下
# 重启
# 快捷方式
# 框中输入
# 运行环境
# 已有
# 适用于
# 行尾
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高防服务器租用指南:配置选择与快速部署攻略
高防服务器:AI智能防御DDoS攻击与数据安全保障
新三国志曹操传主线渭水交兵攻略
如何打造高效商业网站?建站目的决定转化率
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
iOS发送验证码倒计时应用
EditPlus中的正则表达式 实战(1)
如何登录建站主机?访问步骤全解析
Laravel如何发送系统通知?(Notification渠道示例)
php485函数参数是什么意思_php485各参数详细说明【介绍】
如何用wdcp快速搭建高效网站?
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何在万网利用已有域名快速建站?
如何用PHP快速搭建CMS系统?
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
动图在线制作网站有哪些,滑动动图图集怎么做?
网站建设要注意的标准 促进网站用户好感度!
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
如何快速搭建个人网站并优化SEO?
Laravel如何实现API版本控制_Laravel版本化API设计方案
制作电商网页,电商供应链怎么做?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何在香港免费服务器上快速搭建网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
米侠浏览器网页背景异常怎么办 米侠显示修复
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
北京网站制作公司哪家好一点,北京租房网站有哪些?
IOS倒计时设置UIButton标题title的抖动问题
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
黑客如何通过漏洞一步步攻陷网站服务器?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
Laravel怎么在Controller之外的地方验证数据
潮流网站制作头像软件下载,适合母子的网名有哪些?
Laravel Fortify是什么,和Jetstream有什么关系
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
详解阿里云nginx服务器多站点的配置
无锡营销型网站制作公司,无锡网选车牌流程?
UC浏览器如何设置启动页 UC浏览器启动页设置方法
iOS验证手机号的正则表达式
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
Bootstrap CSS布局之列表
如何在橙子建站中快速调整背景颜色?

