Skip to content
On this page

返璞归真:终端的基本操作

众所周知,最初的程序员都是在命令行用 vim 写代码的。而即使到了今时今日,命令行也仍然在我们的开发中占据重要地位,譬如我们的每一次 润射 run serve;为了让我们在润的时候更舒爽,也为了更贴近一个真正的程序员,终端命令行的基本操作还是要掌握的。

常用操作

  • command + j / ctrl + ` :这两个命令都可以打开终端;区别是前者打开的是终端所在的底部面板,但因为该面板还有不同的 tab 如输出窗、调试窗等,如果在此之前你切换到了其他 tab,通过 command + j 打开面板时还是会停留在之前的 tab;而 ctrl + ` 则是打开底部面板并切换到终端 tab;所以后者更好用;但由于 ` 比较难按,我们可以给配置为 ctrl + ,;对应命令 workbench.action.terminal.toggleTerminal
  • command + k:当终端内容过多时可以该命令清屏
  • command + \:对当前终端分屏,适合同时要运行不同的命令的情况
  • option + command + / :分屏后多屏状态下切换到上一屏,对应命令 workbench.action.terminal.focusPreviousPane
  • option + command + / 分屏后多屏状态下切换到下一屏,对应命令 workbench.action.terminal.focusNextPane

可以发现,vscode 切换分屏的组合键是比较复杂的,再因为我们方向键是映射过的,这样一来我们要同时按四个按键;所以,改键势在必行,我们可以把 command + [ / ] 组合键添加为上面的切换屏的功能,这样一来就方便了。

  • shift + option + q:关闭终端,这个命令需要自己配置;对应命令 workbench.action.terminal.kill
  • ctrl + shift + `:新建终端,但同样按地难受;我们可以添加个组合键 shift + option + n 来达到这个功能;对应命令 workbench.action.terminal.new
  • shift + command + [ / ]:对于新建了多个终端(非拆分的)时切换不同终端

拆分终端和新建终端

感觉区别不大,都是可以让我们对一个项目同时进行多个命令,比如一个用来跑服务,一个用来做其他命令; 唯一感觉有实质区别的就是新建可以建不同的终端,如一个是 bash 终端,一个是 zsh 终端; 也许在多工作区的情况下有不同(not sure); 如果有朋友了解的请告知我,十分感谢!

如何打开外部终端

当然,肯定有和我一样感想的人:

这破电脑的显示屏已经够小了,还要把 vscode 的命令行面板调出来占用宝贵的位置;况且 vscode 的终端确实食之无味;社区上的命令行工具比他不知道高到哪里去了。正如我已经彻底放弃了 vscode 的命令行,转投到 Warp 的怀抱中。既然如此,如果可以在 vscode 中打开系统默认的终端就好了。

在 vscode 中,可以设置默认打开的外部命令行工具, 在 vscode 中,通过 command + k + command + s,打开键盘快捷方式面板,搜索 open terminal 可以找到打开新的外部终端的快捷键为 shift + command + c;如果你是使用 MacOS 自带终端工具的则到这里就 ok 了。但如果你是和我一样使用 Warp 或 iTerm2 之类的命令行工具的,则需要继续阅读。

通过查看 vscode 命令行相关的设置(设置面板,不是在 setting.json 找),在 用户 - 功能 - 终端 中可以找到三个设置:

  • 自定义要在 Linux 上运行的终端
  • 自定义要在 MacOS 上运行的终端
  • 自定义要在 Window 上运行的终端

我们可以根据自己的系统直接在对应的输入框输入命令行工具名称,比如 Warp 则输入 Warp.app,如果是 iTerm 则为 iTerm.app;当然我们也可以点击输入框前面的小齿轮,选择 [复制设置id],其值为 terminal.external.osxExec,然后在 setting.json 中设置该值为前面说的如 Warp.app 即可。

当你通过该快捷键激活外部命令行时,你还会惊奇发现:vscode 会在当前工作区路径打开的外部命令行!

这多是一件美事啊!

还不快点摆脱 vscode 的命令行?