powershell强大的脚本执行器,垃圾的shell。奇怪的alias,逆天的命令输入体验(指一大长串),不过也都能优化一下


安装新的powershell

Windows11自带的是powershell5.1,很难用(虽然有一些好用的特性),不过为了日常方便还是装一个可以共存的powershell 7

*注:你最好先安装Windows Terminal

在GitHub上的release page下载最新版的msi安装包(可能在Assets->Show all xx assets里),记得下win-x64.msi(如果你是arm用户我不说你也知道装哪个),具体安装的时候可以直接一路继续。

装完以后它就是terminal里powershell这一项


安装Chocolatey

winget包挺多的,但还是不够多,choco上包不少,安装也比较方便

在管理员powershell下运行

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'))

之后输入choco运行就可以看到chocolatey vx.y.z了


安装git

后面要用git的地方太多了,必须要装git

https://gitforwindows.org/ 上有个大大的Download,下载并安装

注:可以不选 Windows Explorer integrationAssociate .sh files to be run with Bash

选择编辑器可以选择大家喜欢的 VSCode

SSH excutable 在Windows11上可选external OpenSSH

后面基本可任选,因为我们不用git bash

完成安装后在终端中运行git就可以看到输出了


安装helix

Helix是一款优秀的文本编辑器,有语法高亮等好用的特性

在管理员powershell下运行

choco install helix

选择run the script,再重新打开终端,输入hx --health应该可以看到Highlight大多是绿色(不一定)的勾

*如果你习惯用vi这些,可以这样:

hx $PROFILE打开powershell profile并输入

Set-Alias vi hx
Set-Alias vim hx

ESC->:x 保存退出,重进powershell即可用vi打开helix了

不会用的可以看看相关教程1,或者学习vim(这两个差不太多)


添加(假的)su命令

还是hx $PROFILE,输入

function su(){
	echo "Starting New Session.."
	Start-Process -Verb RunAs wt.exe ('"{0}"' -f (Get-Process -Id $PID).Path)
}

保存,重新加载powershell,输入su即可弹出一个管理员powershell了(肯定得过UAC的)


安装clang/llvm+cmake+ninja

你仍然需要安装VisualStudio

Windows下C/CXX编译器以MSVC为主,要么就用mingw,但现在可以用clang/llvm原生编译,当然了用cmake+ninja就会让你的项目编译更自然,这样也能激活helix的C/CXX LSP提供代码高亮

https://github.com/llvm/llvm-project/releases下载LLVM-{version}-win64.exe并安装

*不一定就要去装pre-release,建议去安装下面的Latest版本(点这里可以直达)

安装时请选择Add LLVM to the system PATH for all users

接下来安装cmake和ninja
记得是管理员powershell

choco install cmake ninja

然后在你的开始菜单找cmake,找到它的exe的目录(一般在C:\Program Files\CMake\bin),并手动添加到系统环境变量PATH中
最后打开PowerShell,输入cmake,ninja,clang验证你的安装 另外我自己写了一个一键build脚本,你可以抄到你的powershell profile里(hx $PROFILE)

# Set Clang Path env
$env:CC = where.exe clang
$env:CXX = where.exe clang++

# Build Script For Cmake
function cbuild(){
	[string[]]$f = Get-ChildItem -File
	foreach($i in $f){
		if ($i -like "*CmakeLists.txt"){
			cmake -S $pwd -B $pwd\build\ -G"Ninja" .
			ninja -C .\build all -j $env:NUMBER_OF_PROCESSORS
			return
		}
	}
	echo "Cannot Find CmakeLists.txt"
}

安装eza

exa是rust编写的优秀的ls替代,但因为无人维护,故我们使用其fork eza

winget install eza-community.eza

如果上述方式不可用,请先安装rust(在后面),然后

cargo install eza

为了让eza代替ls,请在profile加上

# Use eza as ls provider
Set-Alias ls eza 
function la(){
	eza -1al
}
# lst means show directory as a tree
function lst(){
	eza -lTabgh
}

安装rust

目前必须要visual C++

打开https://rustup.rs/

最上面 To install Rust, download and run rustup‑init.exe then follow the onscreen instructions. 点rustup‑init.exe下载下来,安装即可(这里的也行,但你得是x86_64)


金金金金金金金,钱钱钱钱钱钱钱,芜~