编辑器之于程序员,好比武器之于士兵,是不可或缺的部分,需要日常调教、熟练掌握。
前话
我深度使用 Visual Studio Code 和 Sublime Text 3 这两个编辑器,主力 Visual Studio Code,配合使用 Sublime Text 3,稳定轻巧快速,得心应手。
IDE 用过 VS、JetBrains IDEA & WebStorm、Eclipse;
弱集成、无集成编辑器用过 Dreamweaver、Brackets、Notepad++、Atom;
IDE 活好,尤其是引用追踪,比普通编辑器精准;当然 IDE 消费、消耗也高;
Editor 不装扩展不调教和系统自带的文本编辑器没区别,装了扩展都是怪兽,这一点比 IDE 更为灵活和强大;
编辑器需要常常调教,日久生情难舍难分。
调教思路
调教就“三前提”、“两方向”和“一备份”:
- 前提
- 8G 以上内存
- SSD 硬盘
- 安装扩展/插件
- 方向
- 配置(Settings)
- 快捷键(Shortcuts)
- 备份
- 备份调教信息,不同时空依然如旧(Sync)
扩展
编辑器社区会有大量的扩展资源,按需找扩展,我是按以下分类找的:
- 语言编写支持
- 语法校验
- 注释
- 代码块
- 插入字符(insert 日期时间、数字...)
- 格式化文档
- 书签、标记与识别
- 行、列、符号范围字符快速选择与操作
- 文件对比,diff
- 文件名、路径
- Markdown (文档标记语言,使用计算机必知必会)
- Git (文档存储,使用计算机必知必会,推荐 Github、GitLab、Bitbucket 私有仓库)
这里贴几个跟具体语言无关、通用的插件:
Visual Studio Code:书签 Bookmarks、彩色括号对 Bracket Pair Colorizer、命名方式 Change Case、扩展选择 Expand Region、范围选择 Quick and Simple Text Selection、Markdown Preview Enhanced、TODO Highlight、Partial Diff、同步 Settings Sync。
Sublime Text 3:范围选择 Expand Region、命名方式 Case Conversion、彩色括号对 BracketHighlighter、删除空白行 DeleteBlankLines、文件对比 FileDiffs、Markdown Extended、MarkdownPreview、同步 Sync Settings。
配置
不要深度配置,避免工具和扩展功能调整带来影响:
- 字体,
'Source Code Variable','Ubuntu Mono'
- 主题,要什么主题,顶多加个文件图标扩展
- 忽略某些文件
- 忽略某些文件夹
快捷键
快捷键算是调教中最重要的;
所有编辑器都存在快捷键泛滥的情况;
你们想想,你带着妹纸敲上了代码,写着脚本还调着样式,突然想来个骚操作可就怎么都不行了,所以,没有预设快捷键的扩展才是好扩展!甚至没有预设快捷键的编辑器才是真正的好编辑器。
配置快捷键之前,先了解一下计算机键盘,按用处可分为调节键(Modifier keys)、编辑键(Editing)、导航键(Navigation keys)、锁定键(Lock keys)、综合键(Contextual)等键位;
再了解一下 Alt、Ctrl、Shift 调节键的功能:
- Alt (Alternate),修饰键,切换,转换,侧重“动”,如:实现切换窗口、关闭当前应用程序、选择(访问)菜单等功能;
- Ctrl (Control),控制键,侧重“控”;
- Shift 转换键,辅助控制键,范围获取键,侧重“辅助”(挂档),如:字符选择,输入切换、字母大小写及数字字符转换。
下面谈谈所有软件快捷键的配置方式:
- IDE 和 大型专业软件,不配置自定义快捷键,按它的方式操作;
- 有用 IDE 和 编辑器,可将编辑器的快捷键、配置调教成 IDE 的操作方式;
- 编辑器领域几个常用的按键不要被覆盖:
Ctrl+Shift+P
、Ctrl+P
、Ctrl+R
、Ctrl+G
、Ctrl+;
、Ctrl+~
、Ctrl+D
; - 计算机领域几个常用的按键不要被覆盖:
Ctrl+A
/C
/V
/X
/F
/H
/N
/O
/P
/Q
/S
/W
/Z
,F1
; - 不可单独使用
Shift
按键; - 不单独使用
F1~F12
功能键,编码类操作不用功能键,太大,一手无法掌控; - 不要分配其它功能到
F3
/查找、F5
/构建、F12
/定义引用 三个键; - 不要分配其它功能到 Left、Right 导航键;
- 不使用
Alt+字母
按键,此操作通常访问菜单; - 不要四键及以上触发
定睛一看,留给我们用户可自定义的字母按键,没几个!二键触发日常使用几乎不可能实现了,想想 VIM 多任性,一键触发。
接下来再谈谈,编辑器中常用快捷键种类:
- 编辑器窗口分屏、移动、聚焦;
- 代码类操作:行、关键字、定义引用定位跳转,书签跳转,提示,注释,行前行后插入编辑,缩进,折叠展开,格式化,调试断点,变量命名;
- 行、列、标签对上属性字符选择与操作;
- 文件和目录操作。
差不多了,其它操作就 Ctrl+Shift+P
输入指令调用吧。
下面是我对编辑器快捷键的部分配置,这么多年用下来感觉比较便捷。
Visual Studio Code 中生效,(v);
Sublime Text 3 中生效,(s);
编辑器通用指令
Fn | Key |
---|---|
执行编辑器和插件的命令 | Ctrl+Shift+P |
定位文件 | Ctrl+P |
跳转到行(Line) | Ctrl+G |
跳转到符号(Symbol) | Ctrl+R |
列模式选择 | Ctrl+D |
行选择 | Ctrl+L |
Ctrl+P
,输入 :
转到行,输入 @
转到符号(Symbol);输入 @:
转到符号(分类) (v)
书签
Fn | Key |
---|---|
添加、取消书签 | Ctrl+K+K |
跳至下一书签 | Ctrl+K+N |
跳至上一书签 | Ctrl+K+P |
清除当前文档所有书签 | Ctrl+K+C |
当前文档所有书签 | Ctrl+K+A |
缩进和折叠
Fn | Key |
---|---|
缩 | Ctrl+[ |
进 | Ctrl+] |
折叠当前层级 | Ctrl+Shift+[ |
展开当前层级 | Ctrl+Shift+] |
折叠所有 | Ctrl+K+0 (v) |
层级折叠 | Ctrl+K+1 -7 |
展开所有 | Ctrl+K+J |
折叠 HTML 标签属性 | Ctrl+K+T (s) |
折叠块级注释 | Ctrl+K+/ (v) |
变量命名方式
Fn | Key |
---|---|
change_case snake | Ctrl+U+S |
change-case kebab | Ctrl+U+K |
changeCase camel | Ctrl+U+C |
ChangeCase pascal | Ctrl+U+P |
CHANGE_CASE screaming_snake(constant) | Ctrl+U+U |
change.case dot | Ctrl+U+D |
change/case slash(path) | Ctrl+U+/ |
change case separate words | Ctrl+U+W |
Change Case title | Ctrl+U+T (v) |
强大的选择功能
Fn | Key |
---|---|
列模式选择所有项 | Alt+F3 |
列模式选择 | Ctrl+Shift+↑ /↓ |
复制内容到上/下一位置 | Alt+Shift+↑ /↓ |
向内(inner)、外(outer)选择 | Alt+Shift+I /O |
扩展选择至 行(line) | Ctrl+E+L (s) |
扩展选择至 括号对(brackets) | Ctrl+E+B (s) |
扩展选择至 同层级(indentation) | Ctrl+E+I (s) |
扩展选择至 同标签(tag) | Ctrl+E+T (s) |
扩展选择至 同作用域(scope) | Ctrl+E+S (s) |
扩展选择至 同段落(paragraph) | Ctrl+E+P (s) |
删除行 | Ctrl+Shift+K |
扩展选择至 ( ) | Alt+Shift+( (v) |
扩展选择至 [ ] | Alt+Shift+[ (v) |
扩展选择至 < > | Alt+Shift+< (v) |
扩展选择至 ' ' 、" " | Alt+Shift+' (v) |
扩展选择至 ` ` | Alt+Shift+` (v) |
扩展选择至 { } | Ctrl+Alt+Shift+{ (v) |
编辑器容器
编辑器它是这样的:窗口器/Window → 组/Group → 编辑器/Editor → 文件/File。
Fn | Key |
---|---|
新建文件 | Ctrl+N |
新建窗口 | Ctrl+Shift+N |
打开文件 | Ctrl+O |
打开文件夹 | Ctrl+Shift+O |
在新窗口打开当前文件 | Ctrl+Alt+Shift+O (v) |
关闭当前文件 | Ctrl+W |
关闭所有编辑器 | Ctrl+K+W * |
退出当前程序 | Ctrl+Shift+W (v) |
资源管理器打开文件所在位置 | Alt+X |
菜单栏显示隐藏 Toggle | Ctrl+T+M |
状态栏显示隐藏 | Ctrl+T+S |
侧边栏显示隐藏 | Ctrl+B |
打开或关闭命令终端 | Ctrl+~ |
分屏(组)与移动
Fn | Key |
---|---|
分屏 | Ctrl+\ |
撤销分屏 | Ctrl+Shift+\ |
聚焦左/右一文件 | Ctrl+PageUp/PageDown |
文件组内左/右移 | Ctrl+Alt+PageUp /PageDown (v) |
文件移至上、下一组 | Ctrl+Shift+PageUp /PageDown |
组左、右移 | Alt+Shift+PageUp /PageDown (v) |
聚焦第1-9个文件 | Alt+1 -9 |
聚焦第1-9组 | Ctrl+1 -9 |
聚焦侧边栏 | Ctrl+0 |
文件移至第1至9组 | Ctrl+Shift+1 -9 (s) |
分屏 | Alt+Shift+1 /2 (水平)/3 /4 /5 (四宫格)/8 (2个垂直)/9 (3个垂直) (s) |
垂直、水平方向分屏(Layout) | Shift+Alt+L (v) |
编辑器内置指令
Fn | Key |
---|---|
光标在括号对前后移动(Brackets) | Ctrl+M+B |
光标在标签对前后移动(Tag) | Ctrl+M+T |
查看定义(Definition) | F12 |
查看引用(Reference) | Shift+F12 |
整个工程中的 Symbol | Ctrl+Shift+R |
上一 Symbol | Shift+F7 (v) |
下一 Symbol | F7 (v) |
字符换行 Word Wrap | Alt+z |
全屏 | F11 |
Emmet
Fn | Key |
---|---|
HTML 标签、CSS 选择器前、后选择“属性、值” | Alt+< /> |
HTML 中上、下一编辑点 | Ctrl+Alt+< /> |
HTML 中向层级内、外选择 | Alt+Shift+- /= |
HTML 添加包裹标签 | Ctrl+Shift+G |
HTML 更新标签 | Ctrl+Shift+; |
HTML 移除标签 | Ctrl+Shift+" |
太多... |
其它
Fn | Key |
---|---|
触发建议 | Alt+/ |
触发建议细节 | Ctrl+Alt+/ |
触发参数提示 | Ctrl+Shift+Alt+/ |
预览 Markdown | Ctrl+K+V (v) |
Visual Studio Code 可安装 Settings Sync 同步 "gist_id": "5f0eb9482b96be16eb6865cbc7728d29";
Sublime Text 3 可安装 Sync Settings 同步 "gist_id": "22d1bb9a4e2deb93fc772542ad15433c";
字体:Share/Font/Source-Code-Pro.zip 提取码:1024