由于水平有限,还需要大量完善
目前收获最大的文章是 这一篇,非常感谢这一篇文章使得我对 IDE 的使用更加熟练
已经离不开 JB 了(指 Jetbrains)。
本文主要基于 Jetbrains 家的 WebStorm 。开发常用工具栈为 React + TS + SCSS。使用到的核心插件为 IdeaVIM。
这对其他语言也有参考意义。
每个人有自己的的使用习惯,决定使用与否,还需要自己斟酌。
本文不涉及 VIM 教学操作。
我没有开发过大型项目,如果项目非常大,以至于很难记忆,或者重名文件太多,目录太深,导致搜索功能难以使用的,可能使用鼠标更加方便。
将 CapLock 与 Ctrl 交换
使用标准打字方式的人会很快意识到 CapLock 占用了黄金地段,但是几乎没有使用场景(或者说可以被其他操作替代)。因此我们需要将 CapLock 与 Ctrl 交换。
抛弃 CapLock 按键
CapLock (大写锁定)可能比较有作用的的时候可能是声明全局变量:
const THIS_IS_A_VARY_LONG_VARIABLE = 1;
但是我们有替代方案,可以让我们只输入小写,然后自动转为大写
- vim 用户在命令模式下使用
gUaw
即可将整个单词(注意_
与大写字母相连也是一个单词)快速切换成大写。 - 对于 JetBrains IDE,选中单词后
ctrl+shift+u
也可以做到。 - 对于其他编辑器,也一定有属于自己的快捷键。
JetBrains IDE 补全是大小写敏感的,所以使用小写再转换成大写过程没有代码提示,因此上述转换只适用于定义过程。
要使用到 Jetbrains 补全功能,可以只输入首字母。这样也能避免手动输入长全局变量。
在使用上述方法后,我们输入最多的就是单个首字母了。为了提高打字速度,同时减少左手拇指压力,你应该学会同时使用两侧的 Shift 按键。
一个比较好的免费练习打字网站为 https://www.typingclub.com,它可以你的训练标准键位,两侧 Shift 键,标点输入能力。
替换为 Ctrl 而不是 ESC
对于 EMACS 用户,交换 CapLock 为 Ctrl 为必然的事情。
但是对于 VIM 用户,还有一个关键键位是 ESC。在一些教程中,它们会建议你将 CapLock 与 ESC 交换。
我个人使用经验告诉我,交换为 Ctrl 有更大好处。
首先在各种日常使用中 Ctrl 为常用键位,各种复制粘贴都需要用到。交换后你会发现复制粘贴非常丝滑,浏览器切换 tab(Ctrl+Tab)也非常爽。
其次,虽然和 Shift 一样,左右都有 Ctrl 按键。但是使用下来你就会发现,右边的 Ctrl 是几乎不可用的——太远了!左边的 Ctrl 为不可避免的高频按键。
事实上,对于 VIM 用户,使用 Ctrl 也能实现 ESC 功能。默认的 VIM 中,Ctrl+[ 组合按键与 ESC 等价。这是开箱即用的,哪怕你 SSH 到一台新机器,也能立即上手,而不需要任何额外配置。
低头看看交换后的 Ctrl 与 [,你会发现虽然需要按下两次,但是都离手指非常近,非常方便。
交换为 Ctrl 后,即使使用 VIM 编辑,ESC 的使用频率也大幅减少了。不过在 JetBrains IDE 中 ESC 还有其他作用,但是使用不多。之后会提到。
搜索
之后小节都是使用 JetBrains 家编辑器,并配合了 IdeaVim。
JetBrains 家的补全功能可以让人高潮。
JetBrains 运行需要消耗大量内存,取而代之的是借助空间换来的强大补全能力。
与强大的补全能力相对的,却是相对低廉的学习成本。
要丢弃鼠标,就必须学会将所有鼠标操作转换为搜索或者快捷键,从而实现比鼠标更快,更强大的跳转能力。
文件内搜索(Ctrl+f)非常简单,就不赘述了。
Search Everywhere
这是 JetBrains 家的功能,更详细的使用可以参照 官方说明。
双击 Shift,就能呼出 Search Everywhere 菜单。
在我的使用场景下,我主要用它创建,打开文件。在需要全局搜索时,也会使用它搜索变量,函数等等。
打开文件直接输入文件名字,你可以加上路径来打开特定目录下的文件。
输入 new 指令可以创建新文件。
输入 settings 可以进入设置界面。
直接搜索可以搜索到变量,函数等等。
函数列表
一个文件几百几千行,函数变量太多了?使用函数列表查看吧。
在 Windows/Linux 下,输入 Ctrl+0 进入函数列表,在这里可以直接查看到函数与变量定义。你还可以直接搜索,并按下 enter 进行快速跳转。
结构复杂会导致函数列表过长,对于笔记本可能还是需要一个触摸板进行滚动。
在任何位置使用搜索
难以置信的一点是 JetBrains 几乎在任何地方都集成了搜索功能,并且不需要点击输入框,直接输入字母就自动进入搜索模式,非常智能。
你可以在任何设置页面,目录树下使用搜索功能。搜索到后按下 enter 即可以进入目录/打开文件/进入设置选项卡。然后很多选项卡中也可以搜索。
文件与目录操作
在不使用目录时,应该将其收起。
你可以使用 Alt + 4 将目录收起。Alt 右边比较舒服,但是这个组合键还是不方便。你可以修改成自己舒服的按键。
但是后面学习了 Switcher,加上对小型项目框架了解,可以直接在 Search Everywhere 中打开文件,可以减少对目录的使用。
快速切换文件
jetBrains 有自带 Switcher 功能,在交换完 Ctrl 按键后,按下 Ctrl + Tab,你就做到了快速切换文件。
切换文件范围是在你打开的 tab 中的。Switcher 逻辑与桌面的 Switcher 相同,即连续两下的 Ctrl + Tab 会返回原本文件。
有了这个就可以将 tab 视为缓冲区,将需要的文件送入 tab,将不需要的文件移出 tab。为了使 Switcher 足够好用,最好保证 tab 不超过一定数量。我习惯保留在 4-6 个以内。
对于前端开发常见的是 HTML 与 CSS 切换,主要集中在两个文件中,这样相互切换速度很快。
同时修改多个文件的情况,不论是 Switcher 还是鼠标都不会方便,因为 tab 宽度是有限的,过多的 tab 会导致无法看到,造成操作困难。
添加文件到 tab
上面通过 Switcher 进行文件切换,所以需要有一个将文件添加的过程。
Search Everywhere 在知道文件名的时候是比较合适的选择。
否则就需要浏览目录。所以需要不借助鼠标浏览目录的方法。
按下 Alt + 1 可以开关/选中目录,然后输入任何字母就可以直接进行搜索。
搜索到目录通过 enter 可以切换 开关状态,enter 文件可以直接打开。
打开完文件后 Alt+1 关闭目录,进行编辑操作。
如果目录过长,不借助鼠标还是比较 难以操作。如果是笔记本,可以考虑通过触摸板进行滚动,再通过搜索打开文件。
从 tab 中删除文件
当 tab 过多了,就需要及时清理。
按下 Ctrl+4 可以关闭当前打开的文件。
使用 Snippets
JetBrains 自带集成了大量 Snippets。
除了内建的 Snippets,还可以在插件市场查找,或者进行自定义。
这不是 JetBrains 独有的功能,一般的代码编辑器都具有。但是 JetBrains 自带的 Snippets 很强大,在自定义之前最好可以熟悉一下自带的(快速生成 if 等语句)。