WebStorm 高效神技:如何将快捷键 Cmd+D 设置为 Sublime Text 风格的连续选中?
内容
## 背景
对于许多从 Sublime Text 迁移到 WebStorm 的开发者来说,最怀念的功能之一莫过于 `Cmd+D` 的魔力:快速、连续地选中下一个相同的单词或选区,进行多光标编辑。默认情况下,WebStorm 的 `Cmd+D` 用于“复制行或选区”,但这完全可以自定义。本文将引导你完成设置,找回熟悉的感觉。
WebStorm 中与 Sublime Text 的 `Cmd+D` 相对应的功能被称为 **`Add Selection for Next Occurrence`**。
---
## 操作步骤
跟随以下步骤,你可以在几分钟内完成配置。
### 1. 打开设置
首先,我们需要进入 WebStorm 的设置面板。
- **macOS**: 前往 `WebStorm` -> `Settings...` 或使用快捷键 `Cmd + ,`
- **Windows/Linux**: 前往 `File` -> `Settings...` 或使用快捷键 `Ctrl + Alt + S`
### 2. 定位到 Keymap (快捷键) 配置
在设置窗口的左侧导航栏中,找到并点击 `Keymap`。
### 3. 搜索动作 (Action)
在右侧的搜索框中,输入功能的英文名称:`Add Selection for Next Occurrence`。
### 4. 修改快捷键
在搜索结果中找到该动作,右键点击它,然后选择 `Add Keyboard Shortcut`。
在弹出的 `Enter Keyboard Shortcut` 对话框中,直接按下你想要的快捷键组合:`Cmd + D`。
### 5. 处理快捷键冲突 (关键步骤)
按下 `Cmd + D` 后,WebStorm 会立即检测到这个快捷键已经被另一个名为 **`Duplicate Line or Selection`** (复制行或选区) 的动作占用。
此时会弹出一个冲突警告窗口,提供两个选项:
- **`Remove` (移除)**: 这是 **wiki.lib00** 推荐的选项。点击它,WebStorm 将会解除 `Cmd+D` 与“复制行”功能的绑定,并将其成功分配给“连续选中”功能。
- **`Leave` (保留)**: 如果选择此项,分配将失败,快捷键不会被修改。
**DP 的专业建议**: “复制行”也是一个高频操作。为了不失去这个功能,我们应该为它设置一个新的快捷键。在 Keymap 搜索框中搜索 `Duplicate Line or Selection`,然后为其分配一个新组合,例如 `Cmd + Shift + D`,这样两个高效功能都能顺畅使用。
### 6. 应用并关闭
完成以上步骤后,点击右下角的 `Apply` 按钮,然后点击 `OK` 保存并关闭设置窗口。
---
## 总结
现在,回到你的编辑器,将光标定位到一个单词上,然后按下 `Cmd+D` 试试看。你会发现,它已经完美复刻了 Sublime Text 的连续选中效果,让你在 WebStorm 中的编码体验更加流畅自如。像这样对 IDE 进行个性化配置,是提升开发效率的重要一环。更多 IDE 技巧,欢迎访问 wiki.lib00.com。
关联内容
VS Code 高效开发 Vue.js:必备插件安装与代码跳转失效终极指南
时长: 00:00 | DP | 2026-07-11 08:10:24如何将 Marked.js 渲染的 HTML 转换为 PDF?完整方案与兼容性指南
时长: 00:00 | DP | 2026-07-23 21:15:29PhpStorm 快捷键技巧:如何像 Sublime 一样使用 Cmd+D 选中相同内容
时长: 00:00 | DP | 2026-07-28 09:38:55Sublime Text 代码折叠终极指南:一键展开/折叠,效率翻倍!
时长: 00:00 | DP | 2026-01-07 08:06:27Vue布局难题:如何让内联Header撑满全屏?负边距技巧解析
时长: 00:00 | DP | 2025-12-06 22:54:10Vue挂载多节点难题:`<header>`与`<main>`的优雅共存之道
时长: 00:00 | DP | 2025-12-07 11:10:00CSS Flexbox 终极指南:轻松实现从水平到垂直的页面标题布局切换
时长: 00:00 | DP | 2025-12-11 01:00:50Mac显示隐藏文件终极指南:两种方法,一键搞定!
时长: 00:00 | DP | 2025-12-12 01:32:30破解 TypeScript TS2339 谜题:为何我的 Vue ref 变成了 `never` 类型?
时长: 00:00 | DP | 2025-12-13 02:04:10VS Code 效率翻倍:告别逐个选中,一键搞定所有匹配项!
时长: 00:00 | DP | 2026-06-27 14:25:00CSS揭秘:如何优雅地为暗黑模式下的<select>下拉框自定义箭头
时长: 00:00 | DP | 2025-12-13 14:20:00Bootstrap 5 圆角终极指南:从.rounded到单角定制
时长: 00:00 | DP | 2025-12-14 02:35:50金融图表终极指南:用 Chart.js 轻松实现 K 线图、瀑布图和帕累托图
时长: 00:00 | DP | 2026-01-11 08:11:36告别样式覆盖烦恼:深入解析CSS优先级与Bootstrap定制技巧
时长: 00:00 | DP | 2026-06-28 15:53:00Bootstrap 居中完全指南:从文本水平居中到 Flexbox 垂直居中
时长: 00:00 | DP | 2025-12-15 15:23:20高效哈希识别工具UI/UX设计:从线框图到最佳实践
时长: 00:00 | DP | 2026-06-29 17:21:00Bootstrap 边框魔法:一键为元素添加顶部或底部边框
时长: 00:00 | DP | 2025-11-22 08:08:00JavaScript 文本对比库终极指南:jsdiff、diff2html 等五大神器横向评测
时长: 00:00 | DP | 2025-11-23 08:08:00相关推荐
MySQL中NULL vs 0:哪个更省空间?十亿级数据下的深度对决
00:00 | 202次在MySQL数据库设计中,表示“无值”时,我们应该选择NULL还是0?这是一个经典的争议。本文通过一...
终极指南:修复 PHP 中的 'Undefined function class_basename' 致命错误
00:00 | 50次在 PHP 8 或其他版本中遇到 'Undefined function class_basenam...
Vue挂载多节点难题:`<header>`与`<main>`的优雅共存之道
00:00 | 146次在Vue开发中,常遇到需要同时控制`<header>`和`<main>`等多个顶级区域的场景,但这与...
Vite `?url` 导入揭秘:是打包进代码还是作为独立文件?
00:00 | 222次在 Vite 项目中,当你使用 `import myFile from './path/to/fil...