Windows Terminal
官方文档:https://docs.microsoft.com/zh-cn/windows/terminal/
Github:https://github.com/microsoft/terminal
配置文件
配置方式类型vscode,Win Terminal的默认配置文件default.json
打开方式:按住alt
键点击设置
。
在setting.json
中自定义选项时可以参考default.json
。
对各项设定作用以及取值说明文档 SettingsSchema.md
设定启动目录
default.json
中设置为"startingDirectory": "%USERPROFILE%"
,如我的设置powershell
启动目录为Desktop
设置主题(theme)
主题包括整个窗口的颜色(不包括标题栏)
配置Win Terminal有两种方式
经实际使用,colortool只在cmd或powershell中有效,在Win Terminal打开的ps中运行无效
自动方式:colortool, 属于Terminal repo的一部分,可以在repo下载release安装或者scoop install colortool
,我运行整个程序就出错:
查了repo的issue,暂时没找到原因,我的Terminal从win store安装,非预览版,在colortool的文档中没有见到有要求Terminal版本
经实际使用 colortool campbell.ini
才是正确方式,即Scheme name要带上文件后缀,为了使这项改动永久生效,还需要在powershell的标题栏右键打开属性点击“确定”,cmd的窗口主题也可以这样改变,cmd和ps的改定似乎是分开的,即使ps中已经成功运行了这条命令,这条命令在Windows Terminal中打开的PS里运行并不改变主题,猜想Windows Terminal的setting.json拥有最高优先级。
手动方式:改写setting.json文件,例如配置毛玻璃主题:https://docs.microsoft.com/zh-cn/windows/terminal/custom-terminal-gallery/frosted-glass-theme,要改的两处一处是在sheme中添加主题的各种值,另一处是profile中针对powershell添加选项"colorScheme",`default.json`有各种主题的scheme键值对,默认的主题是Campbell,以上截图是改成了`Solarized Dark`,可以观察到colortool -b Campbell命令中的字符-b不易阅读。
使用oh-my-posh美化Powershell
https://github.com/JanDeDobbeleer/oh-my-posh
oh-my-posh包括了powerline功能,后者可以在命令行提示中显示git状态以及给提示分段,以下乱码是字体不能显示某些符号
参见issue #319,下载任何一个Nerd字体,安装字体后,setting.json中添加”fontFace”: “Delugia Nerd Font”, 这个字体的下载地址参见:https://www.jianshu.com/p/19db2f50cec9
Nerd字体的Repo:https://github.com/ryanoasis/nerd-fonts
以下是美化后的效果截图
1部分:显示加载配置文件耗时
2部分:用vscode在oh-my-posh本地repository下创建了新文件
3部分:git状态提示,+1表示新添加了文件
不能在powershell中修改字体
在windows Terminal setting.json中给PS配置了NERD字体,如果不通过WT直接启动PS,还是不能正确显示,PS也无法更改字体,原因是PS对字体使用有更严格的要求
可以使用这个字体:https://github.com/be5invis/Sarasa-Gothic/releases 在它的介绍里发现有tsinghua mirror,加快下载速度
使用等距更纱黑体 T SC
字体可以显示powerline的符号,这个字体也适合cmd,即cmd也能设置这个字体,再配合colortool更改配色
参考https://www.jianshu.com/p/100aa26a42cc
添加git bash到Win Terminal
git bash属于git-for-windows提供的bash环境
每个profile都需要GUID,一个在线生成GUID的网站https://www.guidgen.com/
or You can run [guid]::NewGuid()
in PowerShell to generate a GUID for your custom profile.
我的配置
1 | { |
注意 commandline不要填git-bash.exe的路径,否则生成的窗口不会嵌入在Win Terminal里,而是独立成窗口
issue
1部分可以看到有路径没有正确显示,中文乱码
https://github.com/git-for-windows/git/issues/2181T
修改启动时的默认profile
defaultProfile 值填写各个profile的GUID,如要默认启动bash,就填bash的GUID
修改背景图片
“backgroundImage”:”图片的绝对地址”
“backgroundImageOpacity”: 1 // 图片透明图
“backgroundImageStretchMode”: “uniformToFill”
setting.json的”defaults”下的设置对所有profile都有效,Put settings here that you want to apply to all profiles。如果把更改背景图片的设置放在这儿,所有的shell都会被更改背景图片
一个Powershell资源收集REPO
reference
https://github.com/atomcorp/themes 此处可以获取各种theme的json文件
WSL
更改安装目录
默认安装目录为系统盘,依以下步骤可以迁移到其他目录
1 | 首先查看所有分发版本 |
运行windows的exe文件
wsl(指子系统的命令行)自动继承了windows的环境变量,输入echo $PATH
可以观察,但是/mnt/c/MinGW/bin下的gcc为exe文件,需要输入gcc.exe才能在wsl里运行
打开资源管理器
运行explorer.exe .可以打开当前目录,可以在.bahsrc里建立同名:alias explore=explorer.exe
在windows和wsl上都安装有python
Remember, Python is installed in the Linux distro, which means if you’re editing Python files on the Windows side, you can’t run or debug them unless you install the same Python development stack on Windows. And that defeats the purpose of having an isolated Linux instance set up with all your Python tools and runtimes!
vscode+wsl
vscode装在windows侧,配有插件wsl-remote,第一次在wsl中使用命令code会自动安装a small vscode server
https://code.visualstudio.com/docs/remote/wsl
wsl在vscode中的issue
https://code.visualstudio.com/docs/remote/wsl#_known-limitations
Working with Git#
wsl和vsc以及git一起工作,有两个问题,一是换行,二是凭证
Using C++ and WSL in VS Code
https://code.visualstudio.com/docs/cpp/config-wsl GCC
ZSH
安装zsh并设置为默认的shell
echo $SHELL
查看默认的shell
https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH
Fish
相比zsh,开箱就用,运行fish_config还可以开启浏览器端的配置
输入help keyword,可以访问在线的fish帮助
安装oh-my-fish,如果要安装插件也可以在这个仓库找到
fish的awesome repo:https://github.com/jorgebucaran/awsm.fish,收集了fish的许多资源
fish不兼容bash,如果要运行bash脚本怎么办呢?
目录跳转插件
速查表
bash:
https://github.com/LeCoupa/awesome-cheatsheets/blob/master/languages/bash.sh
error-starting-the-fish-config-web-ui-in-wsl
在我wsl上输入fish_config,不能访问web config网页,错误如视频所示:
https://github.com/huangchaof/huangchaof.github.io/blob/master/fish_configerror.mp4
或者链接:https://pan.baidu.com/s/1fSvi-uLUnEXHHyIc6vXRyg
提取码:s1w3
解决方式:https://unix.stackexchange.com/questions/597118/error-starting-the-fish-config-web-ui-in-wsl
这个web页是通过web server实现的,源文件在/usr/share/fish/tools/web_config/webconfig.py
Notepad2
原始的已经停止更新,现在有一个github分支https://github.com/zufuliu/notepad2
mcedit
shortcut说明
c-u 表示ctrl-U
m-e 表示alt-e
s-i表示shift-insert