Hero is coming back

风吹呀吹

风会指引你前进的方向

Windows Terminal && PowerShell

PowerShell

PowerShell具备自动执行脚本,远程控制,传输文件的能力,十分强大

并且具备了cmd的各种命令,也可以集成git等一众插件

1. 安装Windows Terminal

使用window10的终端来管理各种控制台工具

从git上下载最新版本的Windows Terminal

2. 下载PowerShell

从git上下载最新版本的PowerShell

3. 右键启动PWL

从git上下载配置脚本Here

常用命令

安装模块

常规手段安装

Install-Module oh-my-posh -Force -Verbose

模块名称:oh-my-posh

详情:-Force -Verbose //用来查看日志

手动安装nupkg模块包

VERBOSE: Downloading 'https://www.powershellgallery.com/api/v2/package/oh-my-posh/3.139.0'.

通过上面的安装命令,可以看到安装日志中一直卡在下载nupkg包上。我们可以通过其他手段下载到这个包。

然后将文件后缀改为zip,并且解压到powershell的module的目录中

C:\Program Files\PowerShell\7\Modules

  1. 打开PWL配置文件

  2. 手动导入模块

    Import-Module 'C:\tools\poshgit\dahlbyk-posh-git-9bda399\src\posh-git.psd1'
    Import-Module 'C:\Program Files\PowerShell\7\Modules\oh-my-posh.3.139.0\oh-my-posh.psd1'
    

卸载模块

$Module = Get-Module PSWindowsUpdate
Remove-Module $Module.Name
Remove-Item $Module.ModuleBase -Recurse -Force

查看模块

module

配置PWL

notepad.exe $Profile

Chocolatey

Chocolatey是一个Windows下的包管理器,类似于Linux下的apt-get或yum

很多模块直接使用 install命令因为网络原因,进度缓慢。所以可以使用choc下载好之后再安装。

搜索软件

choco search oh-my-posh

安装软件

Install-Module oh-my-posh -Scope CurrentUser -Verbose

-Verbose :显示安装日志

界面美化

Request:安装新版本的Windows Terminal ,新版本PowerShell

1. 安装字体

Fira Code Nerd Font字体支持众多特殊符号

2.安装PowerShell插件

# 1. 安装 PSReadline 包,该插件可以让命令行很好用,类似 zsh
Install-Module -Name PSReadLine -AllowPrerelease -Force -Verbose

# 2. 安装 posh-git 包,让你的 git 更好用
Install-Module posh-git -Scope CurrentUser -Verbose

# 3. 安装 oh-my-posh 包,让你的命令行更酷炫、优雅
Install-Module oh-my-posh -Scope CurrentUser -Verbose

3. 配置Windows Terminal界面

自定义Homebrew主题


{
            "background": "#283033",
            "black": "#000000",
            "blue": "#6666E9",
            "brightBlack": "#666666",
            "brightBlue": "#0000FF",
            "brightCyan": "#00E5E5",
            "brightGreen": "#00D900",
            "brightPurple": "#E500E5",
            "brightRed": "#E50000",
            "brightWhite": "#E5E5E5",
            "brightYellow": "#E5E500",
            "cursorColor": "#FFFFFF",
            "cyan": "#00A6B2",
            "foreground": "#00FF00",
            "green": "#00A600",
            "name": "Homebrew",
            "purple": "#B200B2",
            "red": "#FC5275",
            "selectionBackground": "#FFFFFF",
            "white": "#BFBFBF",
            "yellow": "#999900"          
 },
 

配置PowerShell样式

{
	"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
    "hidden": false,
    "name": "pwsh",
    // 注意:一定要写上 -nologo,否则开启 powershll 会有一段话输出,很讨厌!
    "commandline": "C:/Program Files/PowerShell/7-preview/pwsh.exe -nologo",
    "source": "Windows.Terminal.PowershellCore",
    // 启动菜单一定要设置为 <.>,否则后面重要的一步将会无效!
    "startingDirectory": ".",
    // 字体一定要 Nerd Font 版本
    "fontFace": "FiraCode Nerd Font",
    "fontSize": 11,
    "historySize": 9001,
    "padding": "5, 5, 20, 25",
    "snapOnInput": true,
    "useAcrylic": false,
    // 颜色
    "colorScheme": "Homebrew"
},

4.配置PWL启动参数

pwl运行 notepad.exe $Profile


#------------------------------- Import Modules BEGIN -------------------------------
# 引入 posh-git 放在环境变量也可以
Import-Module posh-git

# 引入 oh-my-posh 绝对路径也可以
Import-Module 'C:\Program Files\PowerShell\7\Modules\oh-my-posh.3.139.0\oh-my-posh.psd1'

# 设置 PowerShell 主题
Set-PoshPrompt -Theme Paradox
#------------------------------- Import Modules END   -------------------------------





#-------------------------------  Set Hot-keys BEGIN  -------------------------------
# 设置 Tab 键补全
# Set-PSReadlineKeyHandler -Key Tab -Function Complete

# 设置 Ctrl+d 为菜单补全和 Intellisense
Set-PSReadLineKeyHandler -Key "Tab" -Function MenuComplete

# 设置 Ctrl+d 为退出 PowerShell
Set-PSReadlineKeyHandler -Key "Ctrl+d" -Function ViExit

# 设置 Ctrl+z 为撤销
Set-PSReadLineKeyHandler -Key "Ctrl+z" -Function Undo

# 设置向上键为后向搜索历史记录
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward

# 设置向下键为前向搜索历史纪录
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
#-------------------------------  Set Hot-keys END    -------------------------------





#-------------------------------    Functions BEGIN   -------------------------------
# Python 直接执行
$env:PATHEXT += ";.py"

# 更新 pip 的方法
function Update-Packages {
    # update pip
    Write-Host "Step 1: 更新 pip" -ForegroundColor Magenta -BackgroundColor Cyan
    $a = pip list --outdated
    $num_package = $a.Length - 2
    for ($i = 0; $i -lt $num_package; $i++) {
        $tmp = ($a[2 + $i].Split(" "))[0]
        pip install -U $tmp
    }

    # update TeX Live
    $CurrentYear = Get-Date -Format yyyy
    Write-Host "Step 2: 更新 TeX Live" $CurrentYear -ForegroundColor Magenta -BackgroundColor Cyan
    tlmgr update --self
    tlmgr update --all
}
#-------------------------------    Functions END     -------------------------------





#-------------------------------   Set Alias Begin    -------------------------------
# 1. 编译函数 make
function MakeThings {
    nmake.exe $args -nologo
}
Set-Alias -Name make -Value MakeThings

# 2. 更新系统 os-update
Set-Alias -Name os-update -Value Update-Packages

# 3. 查看目录 ls & ll
function ListDirectory {
    (Get-ChildItem).Name
    Write-Host("")
}
Set-Alias -Name ls -Value ListDirectory
Set-Alias -Name ll -Value Get-ChildItem
#-------------------------------    Set Alias END     -------------------------------
posted @ 2021-04-18 13:28  风吹呀吹  阅读(661)  评论(0编辑  收藏  举报