cmd用着不爽不是一次两次了。作为用惯了管道传参和自动补全的linux用户,怎么能习惯在cmd里操作呢?所以尝试在windows下配置一套用着舒服的shell。
先看看效果吧
Why not WSL?
用wsl是不错的选择,但是不是共享内核,实现方式是虚拟机的解决方案,用着总是会有些奇怪的样子,当然更重要的是操作起来没有那么方便,比如作为虚拟机需要注意的网络问题,显卡直连,文件系统转接等。
How to?
Terminal
默认使用Windows Terminal了。现在windows上最好看的就只有它了(笑。
Package Manager
首先是换一个不错的包管理器。scoop,choco,winget都是不错的选择,我选择scoop,它不用管理员权限这点我比较喜欢。
安装:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser irm get.scoop.sh | iex
如果需要自定义目录,可以先运行如下操作:
$env:SCOOP='D:\Applications\Scoop' $env:SCOOP_GLOBAL='F:\GlobalScoopApps'
Fonts
字体方面,需要选择nerdfonts字体,比如Firacode-Nerd。下载后安装到系统里。
Shell
shell方面有两个选择,第一个是直接用cmd,配上clink后有了自动补全。另一个是用最近比较火的nushell,加上carapace-bin也带上了自动补全。
- Clink安装。
scoop install clink clink autorun install
- nushell安装
scoop install nu carapace-bin nu mkdir ~/.cache/carapace carapace _carapace nushell | save --force ~/.cache/carapace/init.nu echo "source ~/.cache/carapace/init.nu\n" | save --append $nu.config-path
这个时候,我们就得到两个带上自动补全的shell了。
Commands
- busybox: 有两种busybox可以选择:coreutils或者busybox,选择一种即可。
- sudo:
scoop install gsudo
可以安装sudo(改)
- 然后如果想的话还能装nano和vim/neovim。
Beautify
使用starship来获得一个较为美观的终端。
scoop install starship
添加社区配置文件
starship preset tokyo-night -o ~/.config/starship.toml
- clink
echo "load(io.popen('starship init cmd'):read("*a"))()" > %LocalAppData%\clink\starship.lua
- nushell
mkdir ~/.cache/starship starship init nu | save -f ~/.cache/starship/init.nu echo "source ~/.cache/starship/init.nu\n" | save --append $nu.config-path use ~/.cache/starship/init.nu。
Done!
做到这里,你就获得了一个甚至两个好看的Unix Like windows环境了!
nushell作为一个新的shell,有很多令人惊讶的语法设计和内容,这些我就略过了。
碎碎念:刚刚看到队友的电脑上普通的cmd我看着不爽,遂写此文。