Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md attachments/20220614220342_oh-my-posh_result.png attachments/20220614221618_oh-my-posh_setting.png
175 lines
7.7 KiB
Markdown
175 lines
7.7 KiB
Markdown
## Setup
|
||
### New tab as Administrator
|
||
- [使用系統管理員身分開啟 Windows Terminal 分頁](https://blog.poychang.net/run-windows-terminal-as-administrator-with-elevated-admin-permissions/)
|
||
|
||
### Use powerline in Git-Bash
|
||
- [Light & simple powerline theme for Git bash for windows](https://github.com/diesire/git_bash_windows_powerline)
|
||
|
||
#### Install
|
||
```shell
|
||
cd $HOME
|
||
mkdir -p .bash/themes/git_bash_windows_powerline
|
||
git clone https://github.com/diesire/git_bash_windows_powerline.git .bash/themes/git_bash_windows_powerline
|
||
```
|
||
|
||
And add following lines to `~/.bashrc`.
|
||
```
|
||
# Theme
|
||
THEME=$HOME/.bash/themes/git_bash_windows_powerline/theme.bash
|
||
if [ -f $THEME ]; then
|
||
. $THEME
|
||
fi
|
||
unset THEME
|
||
```
|
||
|
||
參考:
|
||
- [powerline/fonts: Patched fonts for Powerline users.](https://github.com/powerline/fonts)
|
||
|
||
## Settings.json
|
||
```json
|
||
// This file was initially generated by Windows Terminal 1.6.10571.0
|
||
// It should still be usable in newer versions, but newer versions might have additional
|
||
// settings, help text, or changes that you will not see unless you clear this file
|
||
// and let us generate a new one for you.
|
||
|
||
// To view the default settings, hold "alt" while clicking on the "Settings" button.
|
||
// For documentation on these settings, see: https://aka.ms/terminal-documentation
|
||
// This file was initially generated by Windows Terminal 1.2.2381.0
|
||
// It should still be usable in newer versions, but newer versions might have additional
|
||
// settings, help text, or changes that you will not see unless you clear this file
|
||
// and let us generate a new one for you.
|
||
|
||
// To view the default settings, hold "alt" while clicking on the "Settings" button.
|
||
// For documentation on these settings, see: https://aka.ms/terminal-documentation
|
||
{
|
||
"$schema": "https://aka.ms/terminal-profiles-schema",
|
||
|
||
"defaultProfile": "{00000000-0000-0000-ba54-000000000002}",
|
||
|
||
// You can add more global application settings here.
|
||
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
|
||
|
||
// If enabled, selections are automatically copied to your clipboard.
|
||
"copyOnSelect": false,
|
||
|
||
// If enabled, formatted data is also copied to your clipboard
|
||
"copyFormatting": false,
|
||
|
||
// Start position
|
||
"initialCols": 205,
|
||
"initialRows": 30,
|
||
"initialPosition": "15,400", // x,y
|
||
|
||
// A profile specifies a command to execute paired with information about how it should look and feel.
|
||
// Each one of them will appear in the 'New Tab' dropdown,
|
||
// and can be invoked from the commandline with `wt.exe -p xxx`
|
||
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
|
||
"profiles":
|
||
{
|
||
"defaults":
|
||
{
|
||
// Put settings here that you want to apply to all profiles.
|
||
},
|
||
"list":
|
||
[
|
||
{
|
||
// Make changes here to the powershell.exe profile.
|
||
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
|
||
"name": "Windows PowerShell",
|
||
"commandline": "powershell.exe",
|
||
"hidden": false
|
||
},
|
||
{
|
||
"guid": "{41dd7a51-f0e1-4420-a2ec-1a7130b7e950}",
|
||
"name": "Windows PowerShell(Administrator)",
|
||
"commandline": "gsudo.exe powershell.exe",
|
||
"hidden": false,
|
||
"colorScheme": "Solarized Dark",
|
||
"fontFace": "Fira Code",
|
||
"icon" : "C:\\Users\\awinh\\OneDrive\\圖片\\icon\\console_red.png"
|
||
},
|
||
{
|
||
// Make changes here to the cmd.exe profile.
|
||
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
|
||
"name": "Command Prompt",
|
||
"commandline": "cmd.exe",
|
||
"hidden": false
|
||
},
|
||
{
|
||
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
|
||
"name": "Azure Cloud Shell",
|
||
"source": "Windows.Terminal.Azure",
|
||
"hidden": false,
|
||
},
|
||
{
|
||
"guid": "{00000000-0000-0000-ba54-000000000002}",
|
||
"name" : "Bash",
|
||
"commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe -i -l",
|
||
"icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico",
|
||
"startingDirectory" : "D:\\GoogleDrive\\codes",
|
||
"fontFace" : "Fira Code",
|
||
"fontSize" : 11,
|
||
"historySize" : 9000,
|
||
},
|
||
]
|
||
},
|
||
|
||
// Add custom color schemes to this array.
|
||
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
|
||
"schemes": [],
|
||
|
||
// Add custom keybindings to this array.
|
||
// To unbind a key combination from your defaults.json, set the command to "unbound".
|
||
// To learn more about keybindings, visit https://aka.ms/terminal-keybindings
|
||
"keybindings":
|
||
[
|
||
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
|
||
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
|
||
// To learn more about selection, visit https://aka.ms/terminal-selection
|
||
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
|
||
{ "command": "paste", "keys": "ctrl+v" },
|
||
|
||
// Press Ctrl+Shift+F to open the search box
|
||
{ "command": "find", "keys": "ctrl+shift+f" },
|
||
|
||
// Press Alt+Shift+D to open a new pane.
|
||
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
|
||
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
|
||
// To learn more about panes, visit https://aka.ms/terminal-panes
|
||
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" },
|
||
// Full screen
|
||
{ "command": "toggleFullscreen", "keys": "alt+x" },
|
||
// Open new default tab
|
||
{ "command": "newTab", "keys": "ctrl+t" },
|
||
// Close current pane
|
||
{ "command": "closePane", "keys": "ctrl+w" },
|
||
// Split pane in vertical
|
||
{ "command": { "action": "splitPane", "split": "vertical"}, "keys": "ctrl+shift+E" },
|
||
// Split pane in horizontal
|
||
{ "command": { "action": "splitPane", "split": "horizontal"}, "keys": "ctrl+shift+O" },
|
||
// Goto next tab
|
||
{ "command": "nextTab", "keys": "ctrl+pagedown" },
|
||
// Goto previous tab
|
||
{ "command": "prevTab", "keys": "ctrl+pageup" },
|
||
]
|
||
}
|
||
```
|
||
|
||
## oh-my-posh on bash
|
||
以下步驟都是在 [Windows Terminal](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701) 中的 Git bash[^1] 執行。
|
||
1. 先下載一個你喜歡的theme: [https://ohmyposh.dev/docs/themes](https://ohmyposh.dev/docs/themes)
|
||
2. 下載並安裝字型:[Caskaydia Cove Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip?WT.mc_id=-blog-scottha)
|
||
3. Install OhMyPosh: `winget install JanDeDobbeleer.OhMyPosh`
|
||
4. 建立並修改 `~/.profile`,然後加入
|
||
`eval "$(oh-my-posh --init --shell bash --config ~/OneDrive/appConfigs/ohmyposh/themes/montys.omp.json)"`
|
||
注意最後的 `montys.omp.json` 就是第一步下載的theme,這邊要改成你自己的路徑。
|
||
5. 修改 Windows Terminal 的 setting.json,將字型改為 `CaskaydiaCove NF`
|
||
![[20220614221618_oh-my-posh_setting.png|600]]
|
||
6. 成果
|
||
![[20220614220342_oh-my-posh_result.png|600]]
|
||
|
||
[^1]: 設定 可以參考:[Windows Terminal's 設定 Git Bash 和 SSH @ 傑克! 真是太神奇了! :: 痞客邦 ::](https://magicjackting.pixnet.net/blog/post/225162505-windows-terminal's-%E8%A8%AD%E5%AE%9A-git-bash-%E5%92%8C-ssh)
|
||
|
||
## Reference
|
||
- [Windows Terminal 美化 for WSL 2 Ubuntu (zsh + zim + powerlevel10k)](http://www.kenming.idv.tw/windows-terminal-%e7%be%8e%e5%8c%96-for-wsl-2-ubuntu-zsh-zim-powerlevel10k/)
|