IDEA without mouse

2017-07-10  本文已影响0人  Boreasy

vimemacs 的圣战相信大家并不陌生。很多人对这两款编辑器爱不释手,有一个很大的原因是,它们通过多种插件和快捷键,可以完全脱离鼠标操作,并且效率更高。
但在平时工作中,相比 vimemacs,我始终认为好的 IDE 才是第一选择,因为 IDE 做好了各种功能的集成,节约了我们自己调教 vimemacs 的时间。
IDEA 是我心目中毫无疑问的最好 Java IDE(没有之一)。但平时观察发现,大多数同学使用 IDEA 时,在鼠标和键盘键频繁切换,效率不免大打折扣。因此总结了一些平时我对 IDEA 键盘操作的实践,以供大家参考,希望能有所帮助。
本文中涉及的快捷键基于 IDEA 的默认快捷键配置(Mac OS 10.5+)。

窗口和视图切换

以我个人的使用经验来说,最常用的视图和窗口切换的快捷键操作有:

以上这些操作,基本可以概括 90% 以上的使用场景,完全避免鼠标操作。
另外要单独一提的是,大多数 IDEA 中不能输入的视图、弹出框等场景下,可以通过直接键入内容进行搜索,用上下箭头选择确认。如在 project 视图中,可以通过这个操作,快速定位到某个文件夹。

打开文件

强烈推荐的两种打开文件方式

打开 Java 文件时强烈建议仅使用⌘O,这将极大的减少筛选文件的范围,尤其是在项目中有大量配置文件的情况下。

不建议使用双击(打开 search anywhere),一方面可能和第三方中文输入法中英文切换键冲突;另一方面搜索范围太广,筛选不如上面两种方式高效,默认情况下 ⌘O⌘⇧O 只搜索项目代码内的文件,当项目内匹配不到关键字或再次按下相同的快捷键时,搜索范围才会扩大到引用的包。

此外,⌘⇧E 可以打开弹框,可以很方便的选择最近编辑过的文件。

对于 Java,IDEA 提供了完整的文件间导航

编辑器操作

编辑器中的光标定位

最广为人知的方法就是通过查找定位:

  1. 编辑器中通过 ⌘F 唤出搜索框
  2. 键入关键字,按上下箭头定位到目标位置
  3. 退出搜索,光标定位到关键词末尾

下面介绍几种同样很实用的定位方式。

通过结构定位

几乎所有常用的文件格式都可以通过这种方式定位,包括不限于 JavaXMLpropertiesHTML/JavaScript/CSS
通过⌘F12,唤出当前编辑状态的文件结构。通过搜索可以快速定义到 Java/Javascript 的方法和属性,XML/properties/HTML/CSS 的节点。

通过行号定位

试想以下场景:查看生产环境日志中打印了一个错误信息,显示 *ErrorClassName * 类的 veryLongMethodName 方法抛出了一个异常,具体行数是 300
怎么样最快的定位到代码的这个位置呢?首先通过⌘O打开类,这一步应该没什么疑问。接下来怎么做呢?通过⌘F或者⌘F12找到这个方法吗?如果方法名前缀重复较多不利于索引筛选,或者方法体过长,定位到最终目标都要废很大劲。

我推荐的做法是,定位到类后,通过 ⌘L 直接输入行号进行定位。在某些知道列号的场景下,输入 行号 列号 还可以直接将光标定位到更准确的位置(按提示可使用 行号:列号 ,但冒号显然不如空格输入方便)。

精准定位

当我们通过以上的一种或几种方式,将期望的光标位置放到了可视区域中,多数同学可能会通过鼠标直接点击或者箭头移动。但既然我们的目标是抛弃鼠标的同时进行高效操作,这些方法当然不能够满足。

这里推荐插件AceJump。它实现了类似emacs 的 Ace-Jump-Mode。大致步骤如下:

如当前可视区域中,我想将光标移动到「varName」前,首先进入 AceJump 模式,然后依次键入「varName」。理想情况下,键入 v 后,由于命中数量较少,tag 为单个字符,此时再键入该 tag,就完成了一次定位。相比方向键移动,效率提升很多。

使用时有三点需要注意:

  1. AceJump 支持全文索引,但跳转到可视范围外需要的操作相对繁琐,因此建议使用上述的其他方式先移动到可视区域。
  2. 同样是基于以上理由,如果硬件配置不够好,在大文件中(如文件有上千行时)不推荐使用。
  3. 由于光标默认移到关键词前,所以想要定位准确,最好用目标位置后的内容作为关键词。
模糊定位

假设一时间还没办法习惯这些定位技巧,仍然习惯用方向键定位,不妨试试这样操作:

编辑文件

介绍完窗口、视图、文件的导航,接下来的重头戏就是内容编辑了。所有平台通用的复制粘贴就不再赘述了。下面介绍一些我认为较为常用的往往被大家忽视的、可以替换鼠标操作的编辑快捷键。

运行调试

照例介绍几个最常用的快捷键:

版本控制

同样,以 Git 为例,80% 的操作可以通过下面几个快捷键完成。

以上当然只是 CMS 操作中极少的一部分。但考虑到 coding 中对 CMS 的操作明显不如其他操作高频,另一方面我们也可以在设置中对自己常用的操作设置新的快捷键,这里

小结

以上是我在工作中最常用到的快捷键。作为一篇入门教程,所列举的这些快捷键并不全面。毕竟最佳的实践方案,是根据自己的使用习惯,在 Setting > Keymap 中设置自己最常用、最顺手的快捷键组合。

最后留几个默认的快捷键给感兴趣的同学尝试。

上一篇 下一篇

猜你喜欢

热点阅读