记一次配置Windows终端terminal

立即安装Windows终端terminal

Git发布页面

发布地址 https://github.com/microsoft/terminal/releases

应用商店

安装地址 https://aka.ms/terminal

winget

winget install --id=Microsoft.WindowsTerminal -e

如果提示winget : 无法将“winget”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

如未安装winget,安装地址 https://www.microsoft.com/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

如已安装,可能是因为没有将winget添加到环境变量中,可以添加下,或者试试下面这条命令

%LOCALAPPDATA%\Microsoft\WindowsApps\winget install --id=Microsoft.WindowsTerminal -e

安装 Oh My Posh

安装前的注意事项

Windows PowerShell 执行策略

在执行 winget install 命令之前,先查看下,Windows PowerShell 的执行策略

执行策略 是 Windows PowerShell安全策略中的一部分,它将决定你是否可以载入配置文件(包括你的 Windows PowerShell profile文件)和运行脚本,它将会在运行前确定哪些文件必须具有数字签名(digitally signed)

执行策略状态说明

`Restricted` 表示状态是禁止的 不载入配置文件, 不执行脚本. Restricted 是默认值.
`RemoteSigned` 所有从互联网上下载的脚本必须通过信任的出版商签名(trusted publisher)
`AllSigned` 所有的配置文件和脚本必须通过信任的出版商签名(trusted publisher),这里所指的脚本页包括在本地计算机上创建的脚本
`Unrestricted` 载入所有的配置文件和脚本,如果运行了一个从互联网上下载且没有数字签名的脚本,在执行前都会被提示是否执行
// 获取 Windows PowerShell 当前执行策略get-ExecutionPolicy

// 修改 Windows PowerShell 中执行策略set-ExecutionPolicy RemoteSigned

开始安装

官网链接 https://ohmyposh.dev

发布页下载 https://github.com/JanDeDobbeleer/oh-my-posh/releases/

或者终端执行命令

// oh-my-posh 安装命令
winget install JanDeDobbeleer.OhMyPosh

// oh-my-posh 更新命令
winget upgrade JanDeDobbeleer.OhMyPosh

//可在命令后追加-s winget --location D:\OhMyPosh来设置路径//如 winget install JanDeDobbeleer.OhMyPosh -s winget --location D:\OhMyPosh
PS:安装成功后需要重新打开终端,才能继续后续的操作

安装 Nerd Fonts 字体解决乱码

Nerd Fonts字体中包含了大量的Icon图标

官网地址 https://www.nerdfonts.com/

releases页面 https://github.com/ryanoasis/nerd-fonts/releases/tag/v2.3.1

官方推荐使用的是Meslo,我使用的是MesloLGM NF

下载后解压丢到C:\Windows\Fonts目录即可完成安装过

打开 终端->设置->外观->字体 进行修改

智能补全/智能提示

效果类似于mac的iterm2

PowerShell 7.2 随 PSReadLine 2.1.0 一起提供。 有较新版本可用。 可以在 Windows PowerShell 5.1 及更新版本上安装和使用 PSReadLine 的当前版本。 对于某些功能,需要运行 PowerShell 7.2 或更高版本。

PSReadLine 为 PowerShell 控制台提供强大的命令行编辑体验。 提供以下功能:

  • 命令行的语法着色

  • 语法错误的直观指示

  • 编辑和历史记录) (更好的多行体验

  • 可自定义的键绑定

  • Cmd 和 Emacs 模式

  • 许多配置选项

  • Bash 样式完成在 Cmd 模式下 (可选,在 Emacs 模式下默认)

  • 埃马克扬克/杀环

  • 基于 PowerShell 令牌的“word”移动和删除

  • 预测 IntelliSense

  • 在控制台中动态显示“帮助”,而不会丢失命令行上的位置

PSReadLine 需要 PowerShell 5.1 或更高版本。 PSReadLine 适用于默认的 Windows 控制台主机、窗口终端和Visual Studio Code。 它在Windows PowerShell ISE 中不起作用。

可以从PowerShell 库安装 PSReadLine。 若要在受支持的 PowerShell 版本中安装 PSReadLine,请运行以下命令。

Install-Module-Name PSReadLine -AllowClobber -Force

预测 IntelliSense

预测 IntelliSense 是选项卡完成概念的补充,可帮助用户成功完成命令。 它使用户能够基于用户历史记录和其他特定于域的插件的匹配预测发现、编辑和执行完整命令。

启用预测 IntelliSense

预测性 IntelliSense 默认禁用。 若要启用预测,只需运行以下命令:

Set-PSReadLineOption-PredictionSourceHistory

PredictionSource 参数还可以接受特定于域和自定义要求的插件。

若要禁用预测 IntelliSense,只需运行:

Set-PSReadLineOption-PredictionSource None

更多配置,可以放在配置文件中,让其每次都生效

# Shows navigable menu of all options when hitting TabSet-PSReadlineKeyHandler -Key Tab -Function MenuComplete

# Autocompletion for arrow keysSet-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

配置文件

终端执行

code $PROFILE

首次使用,可能不存在该文件,保存即可

# 去除 Window PowerShell 版权所有提示
clear

# 配置 oh-my-posh 其中kali为主题名,可以执行get-Poshthemes获取主题列表
oh-my-posh init pwsh --config 'C:\Users\Administrator\AppData\Local\Programs\oh-my-posh\themes\kali.omp.json' | Invoke-Expression

# Shows navigable menu of all options when hitting TabSet-PSReadlineKeyHandler -Key Tab -Function MenuComplete

# Autocompletion for arrow keysSet-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

自定义命令

您可以在配置文件中写一些常用的命令来快捷操作,如

# 使用 vscode 打开 $PROFILE 配置文件function vscodeOpen {
 Code $PROFILE
}

# 使用 nodepad++ 打开 $PROFILE 配置文件function notepadOpen {
 noetepad $PROFILE
}

Git 查看差异和打包差异

# git
function git-diff ([string]$commitid) {
    if ($commitid -eq "")
    {
        Write-Output "No CommitId"
        return
    }
    git diff $commitid head --stat
}

function git-archive ([string]$commitid) {
    if ($commitid -eq "")
    {
        Write-Output "No CommitId"
        return
    }
    Write-Output "git archive $commitid to C:\Users\Administrator\Desktop\up\export.zip"
    git archive -o C:\Users\Administrator\Desktop\up\export.zip head $(git diff --name-only $commitid head)
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值