惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
A
Arctic Wolf
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threatpost
P
Proofpoint News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Vulnerabilities – Threatpost
V
V2EX
Webroot Blog
Webroot Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Privacy & Cybersecurity Law Blog
P
Privacy International News Feed
T
Tor Project blog
P
Proofpoint News Feed
T
Tailwind CSS Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Vercel News
Vercel News
Security Archives - TechRepublic
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
T
Troy Hunt's Blog
Google DeepMind News
Google DeepMind News
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
W
WeLiveSecurity
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
Y
Y Combinator Blog
T
Threat Research - Cisco Blogs
S
Security Affairs
Google Online Security Blog
Google Online Security Blog
S
Securelist
Spread Privacy
Spread Privacy
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
C
Cybersecurity and Infrastructure Security Agency CISA
爱范儿
爱范儿
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Scott Helme
Scott Helme
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog RSS Feed
AWS News Blog
AWS News Blog

纸鹿摸鱼处

北京实习300天 | 纸鹿摸鱼处 实习后买了一堆东西 | 纸鹿摸鱼处 谈谈不受欢迎的博客技术特征 | 纸鹿摸鱼处 我们的设备被拿来做了什么:软件的背景行为 | 纸鹿摸鱼处 生成式AI正在生成 | 纸鹿摸鱼处 前端字体二三事 | 纸鹿摸鱼处 深色模式开发的最佳实践 | 纸鹿摸鱼处 寻不回手工油糕 | 纸鹿摸鱼处 一些数码外设的评价和“捡垃圾”心得 | 纸鹿摸鱼处 朋友的 Vivado 和 Modelsim 装上了吗 | 纸鹿摸鱼处 迟到三月的年末博客杂谈:动力、文章和内容 | 纸鹿摸鱼处 VitePress 不完全优化指南 | 纸鹿摸鱼处 给电脑新手的笔记本开荒指南导读 | 纸鹿摸鱼处 再谈考试时钟:技术之外的思考 | 纸鹿摸鱼处 今日校园见闻:我已经出离高兴了 | 纸鹿摸鱼处 配置并差点运行不了 Java Applet | 纸鹿摸鱼处 Windows 上的开源软件入门 | 纸鹿摸鱼处 博客进化:从 Hexo 到 Nuxt Content | 纸鹿摸鱼处 祖母的90年代南昌差旅之险 | 纸鹿摸鱼处 Linux 下通过 Samba 共享文件夹 | 纸鹿摸鱼处 从“端口无法访问”到本地环境问题——朋友的博客踩坑记录 | 纸鹿摸鱼处 Windows 空间管理/清理指南 | 纸鹿摸鱼处 遭遇APP乱象:老人的「钱袋子」开线了 | 纸鹿摸鱼处 封面被 Linux QQ 官方用了,但是有一些小缺陷 | 纸鹿摸鱼处 有问题,就要讲出来。 | 纸鹿摸鱼处 从 CSS 排序折腾到 Stylelint 和 pnpm | 纸鹿摸鱼处 使用 DOSBox 的多种方式 | 纸鹿摸鱼处 今日有「假」 | 纸鹿摸鱼处 把博客文章按年份放在子文件夹中了 | 纸鹿摸鱼处 写过的奇妙代码。 | 纸鹿摸鱼处 Arch Linux 启动引导修复 | 纸鹿摸鱼处 在延长今天和期待明天之间 | 纸鹿摸鱼处 今日无事,除了一些技术咨询 | 纸鹿摸鱼处 系统引导配置分享 | 纸鹿摸鱼处 病毒高占用CPU,三天杀俩 | 纸鹿摸鱼处 运营商又想多收话费了 | 纸鹿摸鱼处 电脑连接手机,手机给电脑传文件…… | 纸鹿摸鱼处 Moonlight 串流指南 | 纸鹿摸鱼处 SSH 免密登录 | 纸鹿摸鱼处 Termux 简单指南 | 纸鹿摸鱼处 Tailscale 不完全使用指南 | 纸鹿摸鱼处 Windows 安装指南 | 纸鹿摸鱼处 Arch Linux 易用性及美化 | 纸鹿摸鱼处 Arch Linux 初步配置 | 纸鹿摸鱼处 使用 ArchInstall 安装 Arch Linux | 纸鹿摸鱼处 VS Code 简单配置项 | 纸鹿摸鱼处 他修电脑又遇到了我 | 纸鹿摸鱼处 修监控 (授权转载) | 纸鹿摸鱼处 被大块落冰砸中的话—— | 纸鹿摸鱼处
Windows 终端体验优化指南 | 纸鹿摸鱼处
纸鹿本鹿, hi@zhilu.cyou · 2024-06-16 · via 纸鹿摸鱼处

一篇优化 Windows Terminal 体验的指南,涵盖 PowerShell 增强、Oh My Posh 主题配置、集成 Git Bash 以及终端美化等方面。

启动

  • 按 Win+R 打开运行窗口,输入 wt,回车即可打开 Windows Terminal。
  • 按 Win+X 打开开始按钮右键菜单,按 I(或 Alt+I)打开 Windows Terminal。

PowerShell

安装 sudo

如果你还没有升级到 Windows 24H2,你可以通过安装 gsudo 来添加 sudo 支持。

  • 安装 gsudo PS>

    winget install gsudo

新系统的 sudo 命令十分令人恼火,它貌似无法执行 PowerShell 命令。要想在同一目录以管理员权限执行命令:

  • 在此目录以管理员权限启动新的终端: PS>

    sudo wt -d $(pwd)

如果使用 Windows Powershell

根据 Microsoft 官方文档,PowerShell 和 Windows PowerShell 是两款不同的产品。

PSReadLine 模块会提供自动补全功能,Windows PowerShell 安装的是旧版本的 PSReadLine 模块,需要强制更新。

  • 安装新版 PSReadLine 模块 PS(管理员)>

    Install-Module PSReadLine -Force

    如果第一次执行时提示安装 NuGet 提供程序,那么可能需要再次执行命令才能安装 PSReadLine。

启用自动补全

  • 新建 PS 配置文件的文件夹,若已存在可以忽略 PS>

    mkdir $PROFILE/..

  • 打开 PS 配置文件 PS>

    notepad $PROFILE

    • 也可以更改系统全局配置文件
    PS>

    sudo notepad $PROFILE.AllUsersAllHosts

  • 添加以下内容
    $PROFILEpowershell
    # 按 Tab 键显示补全菜单,按方向键切换选项
    Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
    # 启用行内自动补全,按右方向键补全
    Set-PSReadLineOption -PredictionSource History
    # 启用自动补全列表,按 F2 也可以切换行内补全和补全列表
    # Set-PSReadLineOption -PredictionSource History -PredictionViewStyle ListView
    # 行内自动补全使用 Ctrl+右方向键 按单词补全
    Set-PSReadLineKeyHandler -Chord "Ctrl+RightArrow" -Function ForwardWord
    

小技巧

  • 快速切换到管理员终端(需要配置 OpenSSH 服务) PS>

    ssh localhost

  • 在配置文件中添加此行,快速进入 Git Bash $PROFILE

    Set-Alias bash $env:ProgramFiles\Git\bin\bash

  • 在配置文件中添加此行,按 Ctrl+D 退出 PowerShell $PROFILE

    Set-PSReadlineKeyHandler -Chord Ctrl+d -Function DeleteCharOrExit

Oh My Posh

  • 安装 oh-my-posh(参见 官方文档PS>

    winget install JanDeDobbeleer.OhMyPosh

  • 更改 PowerShell 执行策略PS>

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

    • 也可通过管理员权限更改系统策略
    PS>

    sudo Set-ExecutionPolicy RemoteSigned

  • 配置(参见 官方文档
    • 打开 PS 配置文件
    PS>

    notepad $PROFILE

    • 在文件中添加以下内容
      $PROFILEpowershell
      oh-my-posh init pwsh | Invoke-Expression
      
  • 安装字体
    • 访问 Nerd Fonts 网站 或者 Release 页面
    • Ctrl+F 搜索你常使用的字体,并下载(下载 Symbols Only/NerdFontsSymbolsOnly.zip 即可)
    • 解压后选中字体,右键安装
    • 在 Windows Terminal 中,按 Ctrl+, 打开设置
    • 配置文件 - 默认值 - 外观 - 字体 - 选择你下载的字体 - 保存

Git Bash

在安装了 Git for Windows 后,可以将 Git Bash 添加到 Windows Terminal 中。

  • 打开 Windows Terminal 设置
  • 配置文件 - 添加新配置文件
    • 名称

      Git Bash

    • 命令

      %ProgramFiles%\Git\bin\bash.exe --login -i

    • 启动目录

      %USERPROFILE%

    • 图标

      %ProgramFiles%\Git\mingw64\share\git\git-for-windows.ico

美化

修改位置:Windows Terminal 设置 - 配置文件 - 默认值 - 外观

  • 文本
    • 配色方案:One Half Dark
    • 字体:Cascadia Code, Symbols Nerd Font
    • 自动调整无法区分的文本的亮度:仅适用于配色方案中的颜色
  • 透明度
    • 背景不透明度:75%
    • 启用亚克力材料:开

搜索历史命令

在更新了 PS ReadLine 后,可以通过按 F2 键切换行内补全和补全列表。

另外,Ctrl + R 也可用于搜索命令历史记录。使用方法如下:

  1. 进入搜索模式:按下 Ctrl + R,你会看到提示符变成 (reverse-i-search),这意味着你可以开始搜索之前执行过的命令。
  2. 输入搜索关键字:开始输入你想要查找的命令的部分内容,PowerShell 会实时显示与输入内容匹配的最近命令。
  3. 查看匹配结果:如果有多个匹配的命令,你可以继续按 Ctrl + R 来查看更早的匹配结果。每按一次,会向后查找一个匹配的命令。
  4. 执行命令:当找到想要的命令后,按 Enter 执行该命令。
  5. 取消搜索:如果不想执行搜索到的命令,可以按 Ctrl + GEsc 取消搜索,返回到普通的命令提示符。

同时,Ctrl + S 用于正向搜索命令历史记录。使用方法如下:

  1. 进入正向搜索模式:按下 Ctrl + S,你会看到提示符变成 (forward-i-search)
  2. 输入搜索关键字:开始输入你想要查找的命令的部分内容,PowerShell 会实时显示与输入内容匹配的下一个命令。
  3. 查看匹配结果:如果有多个匹配的命令,你可以继续按 Ctrl + S 来查看下一个匹配结果。
  4. 执行命令:当找到想要的命令后,按 Enter 执行该命令。
  5. 取消搜索:按 Ctrl + GEsc 可以取消搜索,返回到普通的命令提示符。

使用 Fastfetch 获取系统信息

在 Windows 下,推荐使用 Scoop 安装命令行程序。安装 Scoop 后,可以通过 scoop install fastfetch 安装 Fastfetch。(参考Windows 上的开源软件入门 > 使用包管理器安装软件

  • 打印系统信息 PS>

    fastfetch

  • 更详细地显示系统信息,并隐藏 Logo PS>

    fastfetch -c all -l none

Fastfetch 还支持更进一步地定义配置文件。

一些有趣的命令

  • 通过 PS ReadLine 获取历史记录 PS>

    Get-Content (Get-PSReadlineOption).HistorySavePath

  • 获取命令位置(类似于 Linux 的 whichPS>

    (Get-Command <command>).Definition

    PS>

    where.exe <command>

  • 在此次打开文件资源管理器 PS>

    explorer .

  • 在无网状态下开启移动热点 PS>

    [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile([Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()).StartTetheringAsync()