读前须知

本项目推荐给已经初步上手Linux系统或Windows PowerShell环境的同学,如果尚不了解,推荐学习由MIT出品的课程计算机教育中缺失的一课

大学里的计算机课程通常专注于讲授从操作系统到机器学习这些学院派的课程或主题,而对于如何精通工具这一主题则往往会留给学生自行探索。在这个系列课程中,我们讲授命令行、强大的文本编辑器的使用、使用版本控制系统提供的多种特性等等。学生在他们受教育阶段就会和这些工具朝夕相处(在他们的职业生涯中更是这样)。

因此,花时间打磨使用这些工具的能力并能够最终熟练地、流畅地使用它们是非常有必要的。

精通这些工具不仅可以帮助您更快的使用工具完成任务,并且可以帮助您解决在之前看来似乎无比复杂的问题。

课程目录
课程目录

中文文档&课件

中文字幕的授课视频

Windows Terminal

Windows Terminal安装及配置

Windows Terminal为Windows推出的更现代化的终端软件。相比于CMD的黑屏与PowerShell的蓝屏,Terminal提供了多种配色方案与亚克力效果,下图为笔者的配置效果:

Terminal界面
Terminal界面

安装方式最简单的方式为在Windows商店应用内搜索Termianl即可,选择并安装

image-20230416201604980
image-20230416201604980

如果访问应用商店有问题,可以在PowerShell输入以下命令进行安装:

若未安装Chocolatey,打开PowerShell输入以下命令:

1
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

接着输入以下命令:

1
choco install microsoft-windows-terminal -y

PowerShell

请先检查电脑上的PowerShell版本,目前主要维护的版本号为5与7,微软目前正在主推将PowerShell5升级为7,本文也建议将PowerShell升级

image-20230416202244707
image-20230416202244707

微软目前正在接触开源,PowerShell7为开源状态,并由GitHub进行托管,可以直接在仓库的release找到最新的安装包进行安装

或使用Chocolatey进行安装,输入以下命令:

1
choco install -y powershell-core

Gsudo

Windows的终端默认为非管理员模式打开,那么如果碰到需要提权运行的代码,则必须重新打开以管理员模式运行的终端,并重新输入命令,那么Gsudo就能解决这个问题,通过命令安装Gsudo:

1
choco install -y scoop

只需在终端中输入sudo命令即可将终端切换到管理员模式而不丢失之前的内容

Gsudo
Gsudo

WinGet

微软为PowerShell提供了一种新的包管理工具Windows Package Manager,其本质与Chocolatey差不多,请参考 Winget安装教程Winget仓库 下载后进行安装。

Oh My Posh

PowerShell的主题美化引擎,提供了多种定制化的配置供选择,使用以下命令进行安装:

1
winget install JanDeDobbeleer.OhMyPosh -s winget

Oh My Posh还提供了多种便利插件,请先安装以下插件

posh-git

posh-git使得git命令能够使用TAB自动补全,使用以下命令安装:

1
Install-Module posh-git -Scope CurrentUser -Force

ZLocation

ZLocation类似于Linux系统的autojump插件,能实现比cd更方便的工作目录跳转,使用以下命令安装:

1
Install-Module ZLocation -Scope CurrentUser

在使用了一定时间后,ZLocation会维护一张最近使用目录的记录表,可以使用类似于这样的模式快速定位:

1
z 目标地址的模糊地址
ZLocation
ZLocation

按下TAB键后

ZLocation定位
ZLocation定位

NeoFetch

可选项,用于显示个人电脑配置

即使电脑里已经安装了git,仍然需要安装git,因为其依赖于scoop安装的git,使用以下命令安装:

1
2
scoop install git
scoop install neofetch
NeoFetch
NeoFetch

安装完成以上所有插件后,在PowerShell输入以下代码:

1
notepad $Profile

编辑文件并保存

1
2
3
4
5
6
7
8
9
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\aliens.omp.json" | Invoke-Expression
Import-Module posh-git
Import-Module ZLocation
Import-Module PSReadLine ## PowerShell7自带

Set-PSReadlineKeyHandler -Key Tab -Function Complete ## 设置 Tab 键补全
Set-PSReadLineKeyHandler -Key "Ctrl+d" -Function MenuComplete ## 设置 Ctrl+D 为菜单补全和 Intellisense
Set-PSReadLineKeyHandler -Key "Ctrl+z" -Function Undo ## 设置 Ctrl+Z 为撤销

保存完成后,输入命令刷新以应用更改

1
. $Profile

部分主题字体需要下载安装,可使用以下命令,但考虑到兼容性问题我这里实际使用的是Cascadia Code PL字体,在Terminal,按下CTRL+,,打开设置,选择PowerShell-外观进行设置

1
sudo oh-my-posh font install
外观设置
外观设置

主题配置

Oh My Posh内置了相当多的主题,可使用以下命令查看

1
Get-PoshThemes
主题
主题

注意下方的主题名,记录并修改$Profile配置文件

1
notepad $Profile

修改第一行,并修改为想要使用的主题名称

1
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\aliens.omp.json" | Invoke-Expression

保存完成后,输入命令刷新以应用更改

1
. $Profile

Linux Terminal

在之前提前到计算机教育中缺失的一课中的Shell 工具和脚本与***编辑器 (Vim)***等章节中详细介绍了各种插件及工具,因此这里仅介绍Oh My Zsh的安装方式

因为Oh My Zsh托管在GitHub上,这里推荐为终端开启代理,方法参见Ubuntu配置Clash教程文章,使用以下命令:

1
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装完成后修改配置:

1
sudo vim ~/.zshrc

配置主题

.zshrc
.zshrc

配置生效插件

zsh plugin
zsh plugin

配置其他设置及启动项使用的配置

其他配置
其他配置

注意:如果使用MobaXterm作为SSH客户端,因为MobaXterm仅支持有限的字体,请勿选择特别花哨的字体

MobaXterm字体
MobaXterm字体