前言
说到快捷键,对于程序员朋友一定都不陌生。哪些快捷键是你最常用的呢?没错,那必然是复制+粘贴快捷键。
大家好,我来敲代码了,ctrl+c再ctrl+v!
“CV大法”固然好,但其实快捷键的道路上不仅仅只有它,还有“诗和远方”呢。
每个操作系统、每个IDE、每个应用都有着非常多的快捷键(几十甚至几百个),足矣看到软件设计者们的重视吧。本文将本着分享的目的,以IDEA的快捷键为着力点分享笔者自己常用的一些快捷键,若能够帮助你解锁更多姿势岂不乐哉。
说明:快捷键之于每个人的喜好、偏爱不尽相同(但笔者相信绝大多数同学都是趋同的),本文仅以分享为目的,酌情取之
提示:快捷键的数量非常之庞大,每个都强行去使用可能适得其反。不用刻意为之,建议遵循二八原则,有的放矢。
所属专栏
- 【方向盘】-IntelliJ IDEA
相关下载
- 【本专栏源代码】:https://github.com/yourbatman/FXP-java-ee
- 【技术专栏源代码大本营】:https://github.com/yourbatman/tech-column-learning
- 【女娲Knife-Initializr工程】访问地址:http://152.136.106.14:8761
- 【程序员专用网盘】公益上线啦,注册送1G超小容量,帮你实践做减法:https://wangpan.yourbatman.cn
- 【Java开发软件包(Mac)】:https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit
版本约定
- Mac OS 12.1
- iTerm2 3.4.14(zsh 5.8)
- IntelliJ IDEA 2021.3.1
正文
每个程序员都相信快捷键可以成倍提高效率,但只有少数人愿意为之。
笔者以自己为例,从操作系统层面、终端层面、IDE层面分享常用的快键键操作。申明:以下列出快捷键都是本人平时最常使用的,属于经验之谈而并非未经实战的文档性教程。
操作系统层面快捷键
以下快捷键以Mac OS为例。
通用快捷键
command是mac里最重要的组合键,以简写的cmd代替。
这部分快捷键具有普适性:几乎在每个App里都有同样的行为。所以是最简单、最常用,当然也是最重要的。
场景快捷键
下面这些快捷键,在常见的一些场景里派上用场。
拖动顶部菜单栏图标顺序
你知道吗,Mac顶部菜单栏的图标顺序是可以拖动,自定义排序的。做法是:按住cmd键,使用鼠标移动。
预览内容
这是Mac非常实用的功能:不用打开文件/文件夹,快速预览内容。这在看图、看文件时非常好用。用法为:选中文件/文件夹,单击“空格键”即可。
强制退出应用
在windows时,当软件卡死点击x无法关闭应用时,可以调起资源管理器,来进行强行关闭。
在Mac中也有类似的操作方式:强制退出。快键键是:cmd + option + esc(这几个键左手单手很难完成,建议左手cmd+esc+右手option)
个人习惯建议:对于option这个组合键,一般都使用右手来触达比较方便些。
文件重命名
Mac对文件的重命名非常方便,操作为:选中文件,按回车。
这里可能有些同学就不习惯了:按回车一般不都是打开文件/文件夹吗?
是的,这确实是和windows有点不一样的地方。在Mac里打开文件/文件夹是使用cmd + o组合键来完成的。
神奇的option键
它在Mac里的作用挺神奇的,很多老粉称它为神奇键、魔力键。
显示文件路径
和windows会在顶部实时显示当前路径不一样,Mac若想查看选中文件的完整路径,可以这么操作:选中文件,按下option键一小会,底部状态栏就可以看到该文件的全路径啦。
加强右键菜单
Mac的右键菜单看似没有Windows那样来得丰富,其实不然。比如:这是正常的右键菜单。
按住option的右键菜单
查看ip地址
这是一个很常见的“需求”吧。有了option键我们就不必去ifconfig那么麻烦啦,直接按住option键点击wifi图标即可:
option键是个“神奇”的组合键,更多功能针对不同的App还可以自行发掘。总之,当你觉得某功能应该有,但是直接看又没看见的时候,那就试试option组合键吧,时常会发现惊喜哦!
超实用的文本快捷键
诚然,文字工作者(包括程序员)绝大部分情况下操作的都是文本内容,所以文本快捷键是最重要,必知必会的提效神器。
下面的快捷键几乎可以用于任何文本输入的地方,包括但不限于记事本、备忘录、IDE、终端、搜索框......
Home键和End键
用惯快捷键的小伙伴知道,这两个键非常好用,可以说不可或缺。
- Home:任意位置快速回到行头
- End:任意位置快速回到行尾
不同于Windows,纵观Mac的键盘并未发现这两个按键:
难道如此智能的Mac系统不支持这种便捷操作?当然不是,它提供了组合键来达到同样的效果:
- fn + ←:效果同Home键
- fn + →:效果同End键
所有的文本编辑场景(如txt、word、IDEA、搜索框、终端)里,这套组合快捷键都有Home/End的语义。但你或许可能会疑问:为何在浏览器里写文字时,有时候好使(如在输入框填写内容),有时候不好使(如在CSDN的编辑器里写文章),怎么回事???
不卖关子了,直接说根本原因:如果是在浏览器的输入框里(input、textarea等)编辑文本,这套组合键的语义是正确的,否则语义就变为了:
- fn + ←:回到页顶
- fn + →:回到页尾
那么问题来了,为何在CSDN的编辑器里写文章(同样是编辑文本呀),怎么不好使呢?其实,本质原因是CSDN的md编辑器是用Html画出来的(这样才能显示图片、粗细、颜色嘛),而非输入组件:
这就很容易解释为何这看起来也是在浏览器里编辑文本,但fn那套组合键的语义变为了页顶/页尾了吧。
那么怎么破?难道在类似于CSDN的md编辑器这种情况就无法实现Home/End了?当然不是,这时候可以使用:
- control + a:效果同Home键
- control + e:效果同End键
这组快捷键在文本编辑的大部分情况下和fn + ←/→有着相同的语义,可以通用。对此,分享下我的个人习惯是:优先使用fn + ←/→完成功能,只有它俩不好使了(比如CSDN编辑器下)才会采用control + a/e替补。
说明:笔者喜欢使用fn + ←/→的原因是可以配合shift键快速完成文本的选中,若使用control + a/e的话就感觉不顺手
回到页顶和回到页尾
若页面很长,用鼠标/触摸板慢慢滚动显得效率过低,这时用这两个快捷键就更加得心应手了。
这组快捷键在浏览“大”网页时很常用,对应快捷键为:
- cmd + ↑:回到页顶
- cmd + ↓:回到页尾
这组快捷键在浏览器里效果等价于(👆🏻已经说了在浏览器里它俩的效果了哈):
- fn + ←:回到页顶
- fn + →:回到页尾
总而言之,建议优先使用cmd + ↑/↓这组快捷键来表达语义。
其它
翻页快捷键:
- fn + ↑:相当于Page Up
- fn + ↓:相当于Page Down
按行滚动快捷键:
- control + p:上一行(相当于↑)
- control + n:下一行(相当于↓)
这哥俩用得很少,毕竟使用↑↓方向键来得更直接。但在某些没有方向键的键盘里(如HHKC),这对组合键就非常有用喽。
“截断式”删除:
- control + k:光标所在位置的后面内容全部删除,相当于截断丢弃尾部一样
按单词(根据空格识别单词分隔)移动光标:
- option + ←:向左移动一个单词
- option + →:向右移动一个单词
←/→是一位一位的移动光标,Home/End是直接将光标干到头部/尾部,这是一快一慢的两个极端。然后,大多数时候我们只是需要在中间移动,但也希望能快一点移动,这个时候这组快捷键就非常好使啦,对提高移动效率的效果显著。
值得注意的是:只能按照单词移动。中文并不属于此行列,换句话讲:即使成千上万的中文字、中文符号都被认为是一个单词,直到遇上英文符号。因此该功能对于中文文字编辑者几乎没啥用武之地,但对于程序员真的非常非常好用!
终端层面快捷键
终端笔者使用的Iterm 2,shell使用的zsh。
上面介绍过的快捷键,在终端输入里很多都是同样的语义。但由于终端的特殊性,对某些组合键有特殊处理,所以还是有必要单独聊聊的。
移动光标
b:back,回退;f:front,前进。可以看到,在终端里按单词移动,不能使用option组合键了哈。
删除字符
control + h和control + d使用←/→ + delete键可代替且语义更清晰些;control + u和control + k是最常用的。
其它
另外,Iterm自己有几个快捷键平时使用还比较多的:
总结
把快捷键三个字拆分开来有两部分含义:
- 快捷:方便触达,节省时间
- 键:使用键盘完成
任何东西并非越多越好,快捷键也是一样。当设置的/使用的快捷键非常的多,导致在使用的时候常常会想不起来使用哪个时,那么就失去了快捷的意义。为了使用而使用显然并非明智之举,一定要找到最适合自己的方式才是最好的。
使用快捷键提效没什么高深的技巧,就是先记忆,然后多使用,后者最为关键。用得多了,最终便能形成肌肉记忆,进而运用自如,方才大大提高工作效率。
最后说明一下,快捷键文章本计划用一篇分享的,但写完发现篇幅有点长,所以裁剪了一下:操作系统、终端篇;Intellij IDEA篇。那,咱们下篇再见!
本文转载自微信公众号「Java方向盘」