0

0

从Vim/Emacs迁移到VSCode:你需要知道的一切

P粉986688829

P粉986688829

发布时间:2026-01-04 16:28:02

|

945人浏览过

|

来源于php中文网

原创

VSCode迁移指南:一、装vscodevim插件启用Vim模态编辑;二、在keybindings.json中配置Ctrl+A/E/K等Emacs键绑定;三、将.vimrc设置转为settings.json,路径别名保留shell级;四、用Project Manager等扩展复刻插件工作流;五、用Option+Shift拖动、Option+Click等实现多光标与列选。

从vim/emacs迁移到vscode:你需要知道的一切

如果您长期使用 Vim 或 Emacs 这类高度可定制的文本编辑器,现在希望转向 VSCode,可能会面临键位习惯、扩展生态、配置逻辑等方面的断层。以下是帮助您完成迁移的关键信息:

本文运行环境:MacBook Pro,macOS Sequoia。

一、启用 Vim 模式

VSCode 本身不原生支持 Vim 的模态编辑体验,但可通过插件复现其核心行为,包括 Normal、Insert、Visual 等模式及常用命令(如 ddciwgg)。

1、打开 VSCode,点击左侧活动栏的扩展图标(或按 Cmd+Shift+X)。

2、在搜索框中输入 Vim,选择由 vscodevim 官方维护的 Vim 扩展并安装。

3、重启 VSCode 后,即可使用 Esc 切换至 Normal 模式,i 进入 Insert 模式,v 进入 Visual 模式。

二、模拟 Emacs 键绑定

VSCode 支持通过用户键绑定文件直接映射 Emacs 风格快捷键,无需额外插件,适用于熟悉 Ctrl+A(行首)、Ctrl+E(行尾)、Ctrl+K(剪切至行尾)等组合键的用户。

1、按下 Cmd+Shift+P 打开命令面板,输入 Preferences: Open Keyboard Shortcuts (JSON) 并回车。

2、在打开的 keybindings.json 文件中,插入以下键绑定对象:

3、将 {"key": "ctrl+a", "command": "cursorHome"} 添加为独立条目。

4、添加 {"key": "ctrl+e", "command": "cursorEnd"}{"key": "ctrl+k", "command": "editor.action.clipboardCutAction"}

三、迁移自定义配置逻辑

Vim 使用 .vimrc,Emacs 使用 init.el,而 VSCode 将配置拆分为 settings.json(功能开关)、keybindings.json(快捷键)、tasks.json(构建任务)和 launch.json(调试配置),需按用途分别迁移。

maven使用方法 中文WORD版
maven使用方法 中文WORD版

本文档主要讲述的是maven使用方法;Maven是基于项目对象模型的(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven将你的注意力从昨夜基层转移到项目管理层。Maven项目已经能够知道 如何构建和捆绑代码,运行测试,生成文档并宿主项目网页。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

下载

1、打开命令面板,执行 Preferences: Open Settings (JSON),获取当前 settings.json 路径。

2、对照原 .vimrc 中的 set numberset tabstop=4 等设置,在 settings.json 中写入对应项:"editor.lineNumbers": "on""editor.tabSize": 4

3、若原配置含路径别名(如 Vim 的 :cd %:p:h),可在 VSCode 的终端设置中启用 "terminal.integrated.defaultProfile.osx": "zsh" 并保留 shell 级别别名。

四、复刻插件工作流

Vim/Emacs 用户常依赖特定插件实现跳转(如 Vim 的 fzf.vim、Emacs 的 helm-projectile),VSCode 需选用功能对等的扩展,并调整触发方式。

1、安装 Project Manager 扩展以保存多项目工作区,替代 Emacs 的 projectile-switch-project

2、安装 File Utils 扩展,启用右键菜单中的 Duplicate FileRename File,覆盖 Vim 常用文件操作。

3、安装 Todo Tree,配置 todo-tree.general.tags["TODO", "FIXME", "HACK"],复现 Vim 中 todo.txt 插件的标记聚合能力。

五、适配多光标与宏操作习惯

Vim 的 Ctrl+V 可视块选、Emacs 的 Ctrl+Alt+Space 多点编辑,在 VSCode 中由不同机制实现,需重新建立肌肉记忆。

1、进行列选择:按住 Option+Shift 并拖动鼠标,或使用 Cmd+Shift+PToggle Column Selection

2、添加多个光标:按 Option+Click 在任意位置单击,或按 Cmd+D 逐次选中当前词的后续匹配项。

3、录制宏:先按 Cmd+Shift+P 输入 Developer: Toggle Developer Tools 查看控制台,再使用 Extensions: Install Extension 搜索安装 Multi Command 扩展以支持宏绑定。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

408

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

532

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

528

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

409

2024.03.13

vim保存退出命令
vim保存退出命令

vim是一个非常强大的文本编辑器,常用于Unix和Linux系统。它是从vi发展而来的,相比vi有许多改进和扩展。在vim中,保存并退出的命令是:wq"wq"这个命令是由两个部分组成的。其中,"w"表示写入文件,将所做的更改保存到磁盘;而"q"表示退出vim编辑器。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

266

2023.08.01

vscode
vscode

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

583

2023.06.30

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

25

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.5万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号