环境配置与命令行优化指南 SCOOP Scoop 是 Windows 平台上的开源包管理工具,内含多个储存库,并且和 WinGet 不同的是 Scoop 支持第三方存储库,作为开源软件,Scoop的第三方库通常是安全的
安装和配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Get-Host | Select-Object VersionSet-ExecutionPolicy RemoteSigned -Scope CurrentUser [Environment ]::SetEnvironmentVariable('SCOOP' , 'D:\Scoop' , 'User' )$env:SCOOP = 'D:\Scoop' Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
SCOOP常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 scoop help scoop info <app> scoop install <app> scoop uninstall <app> scoop reset [app ]@ [version ] scoop list scoop search scoop search scoop status scoop update scoop update <appName1> <appName2> scoop update * scoop bucket known scoop bucket add <bucketName> scoop cache rm <app> scoop cache rm * scoop cleanup <app>
SCOOP常用存储库
官方库
字体:scoop bucket add nerd-fonts
常用:scoop bucket add extras
不同版本:scoop bucket add versions
JAVA:scoop bucket add java
PHP:scoop bucket add php
第三方库
中国镜像库(能访问GitHub可以不安装)
scoop bucket add scoop-cn https://github.com/duzyn/scoop-cn
SCOOP常用软件
软件名
介绍
winget
系统包管理器
scoop-search
替代自带搜索,效果比自带的好很多
chsrc
将软件或系统替换最快镜像站
gsudo
某些软件需要安装这个
7zip
压缩(自动安装)
aria2
下载
git
自动安装
nodejs
JavaScript
python
python
SyncClipboard
剪贴版同步、支持多种平台,支持 WebDAV 或者自建服务端
everything
搜索工具
quicklook
空格键支持预览文件
notepad3
替代默认编辑器
pandoc
文档格式转换(Typora需要)
pixpin
截图贴图OCR本地软件(下载1.7.6.0版本,后续版本要会员)
honeyview
查看图片
magpie
将不支持全屏放大的游戏使用win+shift+A放大,支持多种放大算法
localsend
本地局域网互传
wingetui
winget的GUI页面
OfficeToolPlus-Portable
安装office
firacode-NF
字体
SarasaGothic-SC
字体
LXGWNeoXiHei
字体
LXGWWenKai
字体
SourceHanSansCN
字体
SourceHanSerifFont
字体
sarasa-term-sc-nerd
字体
根据[Bug]: inno-setup@6.3.1:解压错误 # 13444 由于Scoop使用的默认innounp有一些问题会导致某些应用无法正常安装,因此需要使用以下命令进行替换。
1 2 3 scoop bucket add versions scoop install versions/innounp-unicode scoop uninstall innounp
一键安装 1 2 3 4 5 6 7 8 9 10 11 12 13 scoop install aria2 scoop-search gsudo grep gzip localsend honeyview chsrc everything magpie notepad3 pixpin quicklook winget OfficeToolPlus-Portable scoop-completion vscode SyncClipboard sudo scoop install -g python winget nodejs sudo scoop install firacode-NF LXGWWenKai LXGWNeoXiHei sarasa-term-sc-nerd Source-Han-Serif-SC Wenquanyi-Microhei Wenquanyi-Zenhei
附:全平台自动换源工具:chsrc:全平台自动换源 例子:
chsrc set python
chsrc set winget
chsrc set npm
POWERSHELL美化 美化一般有以下手段:使用Oh My Posh、Starship、或更换终端为Terminal。在本文中,使用的终端统一为Terminal ,字体为FiraCode Nerd Font。
oh-my-posh Oh My Posh是一款适用于多平台的Shell插件,但是由于3.0版本使用了Go语言进行开发,启动时间较长,不太推荐使用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 scoop install https://github.com/JanDeDobbeleer/oh -my-posh /releases/latest/download/oh -my-posh .jsonoh -my-posh init pwsh | Invoke-Expression Get-PoshThemes oh -my-posh init pwsh --config "$env:POSH_THEMES_PATH /1_shell.omp.json" | Invoke-Expression oh -my-posh init pwsh --config 'C:\Users\misak12843\AppData\Local\Programs\oh-my-posh\themes\clean-detailed.omp.json' | Invoke-Expression
Starship Starship 是一个高效的终端美化插件,用 Rust 开发,启动时间快,安装和使用简单。
1 2 3 4 scoop install starshipInvoke-Expression (&starship init powershell)
更多配置请参考Starship 文档 .
Terminal-Icons Terminal-Icons 是一个为 PowerShell 显示文件类型图标的模块,依赖 Nerd Fonts
1 2 3 4 5 6 scoop install terminal-icons Import-Module -Name Terminal-Icons Show-TerminalIconsTheme
最后呈现出来的效果如下所示:
更改前
更改后
Desktop
Desktop
Documents
Documents
Pictures
Pictures
如果你的 显示的不是电脑图标,那么你需要将浏览器中宽度固定的字体更改为nerd-font
posh-git是一个将Git状态添加在PowerShell的插件,通过它可以直观的看到当前目录的分支以及文件的状态。另外还增加了一些针对Git的补全功能。
安装posh-git非常简单,只需要使用scoop install posh-git就可以自动完成安装,而且不需要修改PowerShell的配置文件。以下是终端效果:
1 2 fluid on master is 📦 v1.9.8 via v22.7.0 ❯ Hello,World
z.lua z.lua 是一个高效的目录跳转工具,用 Lua 实现,它根据你的使用频率记录访问过的目录,之后可以快速跳转到这些目录。
scoop install lua
然后需要下载 z.lua 项目,这里推荐直接用 git 将项目克隆到用户主目录下。
git clone https://github.com/skywind3000/z.lua.git $HOME/z.lua
然后在$PROFILE 中添加以下代码,这样以后在使用终端的时候都可以用 z 命令来实现跳转了。
1 2 3 4 5 6 7 8 9 10 11 12 13 notepad $PROFILE Invoke-Expression (& { (lua $HOME /z.lua/z.lua --init powershell once enhanced) -join "`n" })cd acd b z a z b
配置完成后,你可以通过以下命令快速跳转到最近访问过的目录:
z <部分目录名>
例如,如果你最近访问过 C:\Users\Username\Documents\Projects\MyProject,可以通过以下命令跳转:
z MyProject或者z my
z.lua 会自动匹配并跳转到你最常访问的目录,非常方便。
PSReadLine PSReadLine 是一个用于增强 PowerShell 控制台用户体验的模块。它提供了丰富的命令行编辑功能、命令历史记录管理,以及键绑定定制。安装和配置 PSReadLine 可以显著提升你在 PowerShell 中的工作效率。
你可以使用以下命令安装PSReadLine
Install-Module -Name PSReadLine -Force -SkipPublisherCheck
-Force 参数确保覆盖任何已安装的版本,-SkipPublisherCheck 则跳过发布者检查,以便顺利安装。
安装完成后,你可以通过自定义配置文件来配置它,以下是推荐配置,你可以在这个链接 找到关于配置文件的详细信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 Import-Module PSReadLineSet-PSReadLineOption -EditMode WindowsSet-PSReadLineOption -PredictionSource HistoryAndPluginSet-PSReadLineOption -PredictionViewStyle ListViewSet-PSReadLineOption -BellStyle NoneSet-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar
附记 以下是自用的Powershell配置,一个是Oh My Posh,另一个是Starship
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 oh -my-posh init pwsh --config 'C:\Users\misak12843\AppData\Local\Programs\oh-my-posh\themes\clean-detailed.omp.json' | Invoke-Expression set-alias -name ll -value ls set-alias -name sc -value scoop-search set-alias -name s -value scoopImport-Module -Name Terminal-Icons Invoke-Expression (& { (lua $HOME /z.lua/z.lua --init powershell once enhanced) -join "`n" })Import-Module PSReadLineSet-PSReadLineOption -EditMode ViSet-PSReadLineOption -PredictionSource HistoryAndPluginSet-PSReadLineOption -PredictionViewStyle ListViewSet-PSReadLineOption -BellStyle NoneSet-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteCharImport-Module "$ ($ (Get-Item $ (Get-Command scoop.ps1).Path).Directory.Parent.FullName)\modules\scoop-completion" Import-Module gsudoModule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 set-alias -name ll -value ls set-alias -name sc -value scoop-search set-alias -name s -value scoop$ENV:STARSHIP_CONFIG = "$HOME \.config\starship\gruvbox-rainbow.toml" Invoke-Expression (& starship init powershell)Import-Module -Name Terminal-Icons Invoke-Expression (& { (lua $HOME /z.lua/z.lua --init powershell once enhanced) -join "`n" })Import-Module PSReadLineSet-PSReadLineOption -EditMode ViSet-PSReadLineOption -PredictionSource HistoryAndPluginSet-PSReadLineOption -PredictionViewStyle ListViewSet-PSReadLineOption -BellStyle NoneSet-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteCharImport-Module "$ ($ (Get-Item $ (Get-Command scoop.ps1).Path).Directory.Parent.FullName)\modules\scoop-completion" Import-Module gsudoModule
注: