📊 附录 PyCharm 常用快捷键
📄 一句话概括

快捷键不是背出来的,是「查一次、用三次」练出来的。常用键位不超过二十个。 按导航、编辑、重构三组记,比按字母顺序记有用得多。 忘了键位就按 Ctrl+Shift+A 直接搜命令——它是快捷键的快捷键。

📝 本章和前面几章的关系

这是全书唯一一篇查表用的附录,不涉及数据分析,随时回来翻。 键位以本机 PyCharm 的 Settings → Keymap 为准,不同版本略有差别。

一、为什么背了也没用

见过有人把快捷键表贴在显示器边上,贴了半年,还是只用 Ctrl+C 和 Ctrl+V。 原因很简单:背下来的键位用不上,用过的键位忘不掉。 正确的循环是:遇到一个重复动作、查一次、用三次。用三次之后它就成了肌肉记忆。

没有重复动作,就不该记那个键。所以这张表不该通读,该在你烦透了手动操作时来查。 下面三组按「你想干什么」排,不按字母排——查的时候脑子里想的是动作,不是字母。

二、第一组:导航,代码在哪

快捷键 做什么 什么时候用
Ctrl+N 按类名找文件 知道类名不知在哪个文件
Ctrl+Shift+N 按文件名找 记得文件名
Ctrl+B 跳到定义 想看这个函数怎么写的
Alt+F7 查找用法 改之前先看谁在调它
Ctrl+F 当前文件查找 找某个变量在哪几行
Ctrl+Shift+F 全项目查找 跨文件找一个字符串

这一组里最值钱的是 Ctrl+B 和 Alt+F7。一个负责「去看」,一个负责「看全」。 改代码之前先按 Alt+F7,是避免「改一处崩三处」最省事的习惯。 还有个笨但好用的:Ctrl+Shift+F 搜中文注释。你的注释比你的记忆靠谱。

这一组和第 4 章的「索引与查找」是一回事:先定位,再动手。定位错了,后面全错。

三、第二组:编辑,少敲几下

快捷键 做什么
Ctrl+D 复制当前行到下一行
Ctrl+Y 删除当前行
Ctrl+/ 行注释开关
Ctrl+Alt+L 格式化整个文件
Ctrl+Alt+O 清理没用的 import
Alt+Enter 快速修复(补 import、改拼写)
Ctrl+Shift+A 找命令(忘了键位就按它)

Ctrl+Shift+A 是「快捷键的快捷键」。忘了哪个键,按它,中英文都能搜到命令。 有了它,其余键位根本不急着记——需要的时候搜一次就有了。 Ctrl+Alt+L 值得单独说:它不改变代码含义,只统一缩进、空格、换行。

提交代码前按一下,diff 会干净很多。团队里这几乎是一条纪律。

四、第三组:重构,改名不留伤口

快捷键 做什么
Shift+F6 重命名(全部引用一起改)
Ctrl+Alt+M 把选中的代码提成方法
Ctrl+Alt+V 把选中的表达式提成变量
Ctrl+Alt+Shift+T 打开重构菜单

Shift+F6 是这三个里最该先学会的。手动改名一定漏,改名工具一定不漏。 改成「改完全项目都能跑」,才算真的改对了。手改完了,你没法证明没漏。 Ctrl+Alt+M 也常用:一段代码太长,选中、按一下,就变成一个函数加一句调用。

先让它能跑,再让它好看。重构是第二步,不是第一步。

五、快捷键背后的动作,能用 Python 做一遍

Ctrl+Alt+L 是「一键排版」。Python 里对应的是 json.dumps(indent=2) 这一类。 一段挤成一行的 JSON,格式化之后变成 13 行,每一层缩进两格。 排版不改变内容,只改变人眼看到的形状。这一条对所有格式化工具都成立。

Ctrl+F 找的是字面量,Ctrl+Shift+F 还能开正则。正则这东西,写一次省一天。 用 re.findall 配一个括号分组,就能把「函数名」单独抓出来——不用一行行数。

六、最后三条规矩

第一,常用键位不超过二十个。贪多记不住,记住的用不上,等于没学。 第二,先按 Ctrl+Shift+A 找命令,再记键位。顺序反了,会背一堆用不着的。 第三,用过三次的才记。没用过的,查了也白查,第二天就忘。

键位不是知识,是手感。手感靠用,不靠背——这一点和前面十一章的所有内容都不一样。

七、动手 Demo:PyCharm 常用快捷键速查

快捷键本身按不出来,但「快捷键背后的动作」有一部分能用 Python 等价做一遍。 格式化对应 json.dumps(indent=2),查找对应 re.findall,两个都真跑。

import json
import re

raw = '{"name":"张三","tags":["vip","华东"]}'
print(json.dumps(json.loads(raw), ensure_ascii=False, indent=2))

code = "def f1(x):\n    return x + 1\n\ndef f2(y):\n    return y * 2\n"
print(re.findall(r"def (\w+)\(", code))

KEYS = {"跳到定义": "Ctrl+B", "查找用法": "Alt+F7",
        "格式化": "Ctrl+Alt+L", "重命名": "Shift+F6",
        "找命令": "Ctrl+Shift+A"}
print("忘了键位先按 %s" % KEYS["找命令"])

实跑输出:

--------------------------------------------------------------------
PyCharm 常用快捷键速查
--------------------------------------------------------------------

  ① 快捷键不是背出来的
  --------------------------------------------------------------------
  见过有人把快捷键表贴在显示器边上,贴了半年还是只用 Ctrl+C 和 Ctrl+V。
  原因很简单:背下来的键位用不上,用过的键位忘不掉。
  正确的做法是「遇到重复动作 → 查一次 → 用三次」。用三次之后它就成了肌肉记忆。
  这一篇把最常用的十几个列出来,按「导航、编辑、重构」三组排,不按字母排。

  ② 第一组:导航——代码在哪
  --------------------------------------------------------------------

| 快捷键 | 做什么 | 什么时候用 |
|---|---|---|
| Ctrl+N | 按类名找文件 | 知道类名不知道在哪个文件 |
| Ctrl+Shift+N | 按文件名找 | 记得文件名 |
| Ctrl+B | 跳到定义 | 想看这个函数到底怎么写的 |
| Alt+F7 | 查找用法 | 改之前先看谁在调它 |
| Ctrl+F | 当前文件查找 | 找某个变量出现在哪几行 |
| Ctrl+Shift+F | 全项目查找 | 跨文件找一个字符串 |

  第一组里最值钱的是 Ctrl+B 和 Alt+F7。一个负责「去看」,一个负责「看全」。
  改代码之前先按 Alt+F7,是避免「改一处崩三处」最省事的习惯。

  ③ 第二组:编辑——少敲几下
  --------------------------------------------------------------------

| 快捷键 | 做什么 |
|---|---|
| Ctrl+D | 复制当前行到下一行 |
| Ctrl+Y | 删除当前行 |
| Ctrl+/ | 行注释开关 |
| Ctrl+Alt+L | 格式化整个文件 |
| Ctrl+Alt+O | 清理没用的 import |
| Alt+Enter | 快速修复(补 import、改拼写) |
| Ctrl+Shift+A | 找命令(忘了键位就按它) |

  Ctrl+Shift+A 是「快捷键的快捷键」:忘了哪个键,按它打中文或英文都能搜到命令。
  有了它,其余键位根本不急着记——需要的时候搜一次就有了。

  ④ 第三组:重构——改名不留伤口
  --------------------------------------------------------------------

| 快捷键 | 做什么 |
|---|---|
| Shift+F6 | 重命名(全部引用一起改) |
| Ctrl+Alt+M | 把选中的代码提成方法 |
| Ctrl+Alt+V | 把选中的表达式提成变量 |
| Ctrl+Alt+Shift+T | 打开重构菜单 |

  Shift+F6 是这三个里最该先学会的。手动改名一定漏,改名工具一定不漏。
  道理放到写作和整理上也一样:批量的事要么用工具,要么一定会漏。手改靠不住。

  ⑤ 快捷键背后的动作,能用 Python 做一遍
  --------------------------------------------------------------------
  Ctrl+Alt+L 是「一键排版」,Python 里对应 json.dumps(indent=2) 这一类。
  一段挤成一行的 JSON,格式化之后变成 13 行:
    {
      "name": "张三",
      "tags": [
        "vip",
        "华东"
      ],
      "orders": [
        {
          "id": 1,
          "amt": 99.5
        }
      ]
    }
  排版不改变内容,只改变人眼看到的形状。这一条对所有格式化工具都成立。

  ⑥ 查找替换,本质是正则
  --------------------------------------------------------------------
  Ctrl+F 找的是字面量,Ctrl+Shift+F 还能开正则。正则这东西,写一次省一天。
  在一段代码里找所有函数名:f1、f2。
  re.findall 配一个括号分组,就能把「函数名」单独抓出来,不用手数。
  把 def 换成 class、把 \w+ 换成别的模式,同一个办法能查别的结构。
  ! 凡是「肉眼要扫一遍」的活,先想想能不能用一条正则代替。

  [平台原样 · 本沙箱不执行]
  | Settings → Keymap
  | 在搜索框里输入动作名(比如「Duplicate」),右边就显示当前键位
  | 右键可以 Add Keyboard Shortcut 改成自己顺手的键
  不同版本的 PyCharm 键位略有差别,以本机 Keymap 里显示的为准。

  最后三条:常用键位不超过二十个,别贪多;先按 Ctrl+Shift+A 找命令,再记键位;
  ! 用过三次的才记,没用过的查了也白查。

ensure_ascii=False 不能省。省了中文会变成一串 \u5f20 这样的转义,看着就头疼。 indent=2 只是让人看着舒服,读回来的对象和原来完全一样——格式化不改语义。 r"def (\w+)\(" 前面的 r 是原始字符串,不写反斜杠要写两遍,很容易写错。

30 秒实验

  1. 把 indent=2 改成 indent=4,看行数和缩进怎么变。
  2. 把正则的 def 改成 class,找一段有类的代码试试。
  3. 打开本机 PyCharm,按 Ctrl+Shift+A 搜「Duplicate」,看它显示什么键位。

常见误区

  1. 一开始就想记全:二十个以上记不住,记不住的等于没记。
  2. 手动改名:一定漏,而且漏了还查不出来。Shift+F6 一秒解决。
  3. 不看 Keymap 差异就套网上的键位表:不同版本、不同方案,键位会变。
  4. 只收藏不用:快捷键是手感,收藏夹里放一年也不会自动学会。
自测三问(点开对答案) 1. 忘了某个功能的快捷键,最快的办法是什么? —— 按 Ctrl+Shift+A 搜命令名,中英文都行。它直接告诉你是哪个键,还能直接执行。 2. 为什么改名前一定要用 Shift+F6? —— 它把全项目的引用一起改,不会漏。手动改一定漏,而且漏了很难发现。 3. 格式化会改变代码的行为吗? —— 不会。它只调整缩进、空格、换行,语义一点不变——变的是人眼看到的形状。

全书到此结束。正文十二章、附录一篇,从「什么是数据分析」一路走到「把模型输出翻译成业务动作」。

相关笔记