一、下載
在微軟商店Microsoft Store中搜索Terminal,點擊獲取,確保你的系統版本是1903以上
二、配置
在開始菜單中找到新安裝的Terminal並打開,點擊向下箭頭,點擊settings進行配置
微軟最近出了比較詳細的文檔(https://docs.microsoft.com/zh-cn/windows/terminal/)來介紹這個配置文件,這邊簡單介紹一下這個配置文件。
這個配置文件雖然看起來有 200+ 行,但實際上結構非常簡單。我把它摺疊起來加上一點點註釋你應該很容易看出其配置文件的結構。
1、全局配置
下面第一第二個屬性可以自己設置一下,其他幾個屬性用系統默認就行。如果想折騰折騰,想了解詳細含義可以查閱上面的文檔鏈接。
一、打開時的默認終端
"defaultProfile":"{uuid}"
二、主題
"theme": "system"或"dark"或"light",用"system" 將使用與 Windows 相同的主題,我上面的截圖用的是dark暗黑主題。
三、禁用動態配置文件
"disabledProfileSources": ["Windows.Terminal.Wsl", "Windows.Terminal.Azure", "Windows.Terminal.PowershellCore"]
四、選項卡設置
1、始終顯示選項卡
"alwaysShowTabs": true、false
2、選項卡寬度模式
"tabWidthMode": "equal"(等寬)、"titleLength"(標題長度)
3、隱藏關閉所有選項卡彈出窗口
"confirmCloseAllTabs": true、false
五、啓動設置
1、以最大化方式啓動
"launchMode": "default"、"maximized"
2、啓動位置(窗口左上角的像素位置)
"initialPosition":採用以下格式的字符串形式的座標:","、"X,Y"、"X,"、",Y"
3、首次啓動時的列
"initialCols": 整數值
4、首次啓動時的行
"initialRows": 整數值
六、標題欄設置
1、顯示/隱藏標題欄
"showTabsInTitlebar": true、false
2、設置標題欄中的文本
"showTerminalTitleInTitlebar": true、false
七、所選內容設置
1、選擇內容後複製
"copyOnSelect": true、false
2、複製格式
"copyFormatting": true、false
3、字分隔符
"wordDelimiters": 字符串形式的字符
八、滾動速度
"rowsToScroll": 整數
九、窗口大小調整行爲
"snapToGridOnResize": true、false
2、終端配置
我們只需要在 profiles 的 list 中添加項就可以添加新的終端了,把原來的一個 profile 複製一份,然後稍微修改一下。
如果希望將某個設置應用於所有配置文件,可以將其添加到 profiles 中的 defaults 部分。
{
// 唯一標識符
"guid" : "{}", // 百度搜uuid生成器,每個終端都要不重複
// 可執行文件設置
"commandline" : "D://Git//bin//bash.exe", // 終端的可執行文件路徑
"startingDirectory" : "%USERPROFILE%", // 加載終端時所處的起始目錄
// 下拉列表設置
"name" : "Git Bash", // 下拉列表中終端的名稱
"icon" : "D://pictures//gitbash.png", // 下拉列表中終端的圖標,填圖標路徑
// 文本設置
"fontFace" : "Consolas", // 字體名稱。默認Consolas。
"fontSize" : 11, // 字體大小
"padding" : "0, 0, 0, 0", // 填充上下左右的邊距
"antialiasingMode": "grayscale", // 消除文本鋸齒,有 "grayscale"、"cleartype"、"aliased"可選項,具體多大差別我也沒看出來
// Acrylic設置
"useAcrylic" : true, // 使用亞克力效果
"acrylicOpacity" : 0.75, // 亞克力效果不透明度,值越大越不透明
// 背景顏色
"background" : "#012456", // 背景顏色
// 滾動設置
"scrollbarState" : "visible", // 設置滾動條的可見性("visible"、"hidden")
"snapOnInput" : true, // true:輸入時滾動到輸入行, false:不滾動
"historySize" : 9001, // 在窗口顯示的內容上方可以回滾的行數
// 光標設置
"cursorShape" : "bar", // 光標形狀,可選"bar" ( ┃ )、"vintage" ( ▃ )、"underscore" ( ▁ )、"filledBox" ( █ )、"emptyBox" ( ▯ )
"cursorColor" : "#FFFFFF", // 光標的顏色
// 顏色設置
"colorScheme" : "Campbell", // 配色方案名稱,默認有"Campbell"、"Campbell Powershell"、"Vintage"、"One Half Dark"、"One Half Light"、"Solarized Dark"、"Solarized Light"、"Tango Dark"、"Tango Light"可選,你也自己可以在下面scheme配置中自己調配配色方案
// 背景圖像設置
"backgroundImage" : "D://pictures/111.jpg", // 背景圖片文件路徑,可以是.jpg、.png 或 .gif 文件。
"backgroundImageStretchMode" : "uniformToFill", // 背景圖片拉伸模式,可選 "uniformToFill"(默認)、"none"、"fill"、"uniform"
"backgroundImageAlignment" : "center" // 背景圖像與窗口邊界對齊的方式,可選 "center"(默認)、"left"、"top"、"right"、"bottom"、"topLeft"、"topRight"、"bottomLeft"、"bottomRight"
"backgroundImageOpacity" : 0.75, // 背景圖像不透明度
// 退出時配置文件的關閉方式
"closeOnExit" : true, // 設置配置文件如何響應終止或啓動失敗。 當鍵入 exit 或進程正常退出時,"graceful" 將關閉配置文件。 "always" 將始終關閉配置文件,而 "never" 將永遠不會關閉配置文件。 true 和 false 分別被接受爲 "graceful" 和 "never" 的同義詞。
// 懷舊式終端效果**
"experimental.retroTerminalEffect": false // 設置爲 true,則終端將模擬具有掃描線和模糊文本邊緣的經典 CRT 顯示。 這是一個試驗性功能,我們不保證它會持續存在。
},
修改後保存配置,立即生效。
3、配色方案scheme配置
{
"name": "deep", // 配色方案名
"foreground" : "#cdcdcd", // 字體顏色
"background": "#090909", // 背景色
"black": "#000000", // 每種顏色都有很多不同的色號,自己選配自己喜歡的
"red": "#d70005",
"green": "#1cd915",
"yellow": "#d9bd26",
"blue": "#5665ff",
"purple": "#b052da",
"cyan": "#50d2da",
"white": "#e0e0e0",
"brightBlack": "#535353",
"brightRed": "#fb0007",
"brightGreen": "#22ff18",
"brightYellow": "#fedc2b",
"brightBlue": "#9fa9ff",
"brightPurple": "#e09aff",
"brightCyan": "#8df9ff",
"brightWhite": "#ffffff",
},
除 name 以外,每個設置都接受十六進制格式("#rgb" 或 "#rrggbb")的字符串形式的顏色。 github上有一個項目分享了很多配色方案:https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/windowsterminal
4、快捷鍵設置
1)格式
a、不帶參數的命令
{ "command": "commandName", "keys": "modifiers+key" }
b、帶參數的命令
{ "command": { "action": "commandName", "argument": "value" }, "keys": "modifiers+key" }
2)屬性
a、屬性名稱:keys
快捷鍵,可以由多個鍵組成
b、屬性名稱:command
在按下相關快捷鍵時執行的命令
c、屬性名稱:action
向某些命令添加其他功能
3)常用快捷鍵
注意,使用快捷鍵,一般要把輸入法調成微軟輸入法英文模式,否則可能按不出來
以下keys都是我比較習慣的,你可以自己設置,不過命令名稱是固定的
一、應用程序級命令(就是terminal這個應用,應用級別的快捷鍵,好吧,我也不知道怎麼解釋)
1、關閉應用
命令名稱:closeWindow
{ "command": "closeWindow", "keys": "alt+f4" }
2、查找
命令名稱:find
{ "command": "find", "keys": "ctrl+f" }
3、打開下拉菜單
命令名稱:openNewTabDropdown
{ "command": "openNewTabDropdown", "keys": "ctrl+shift+space" }
4、打開設置文件
命令名稱: openSettings
{ "command": "openSettings", "keys": "ctrl+p" }
5、切換全屏
命令名稱: toggleFullscreen
{ "command": "toggleFullscreen", "keys": "alt+enter" },
{ "command": "toggleFullscreen", "keys": "f11" }
二、選項卡相關命令
1、關閉選項卡
命令名稱: closeTab
{ "command": "closeTab", "keys": "ctrl+w" }
2、複製選項卡
命令名稱: duplicateTab
{ "command": "duplicateTab", "keys": "ctrl+d" }
3、新建選項卡
命令名稱: newTab
{ "command": "newTab", "keys": "ctrl+t" },
{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+shift+1" },
{ "command": { "action": "newTab", "index": 1 }, "keys": "ctrl+shift+2" },
{ "command": { "action": "newTab", "index": 2 }, "keys": "ctrl+shift+3" },
{ "command": { "action": "newTab", "index": 3 }, "keys": "ctrl+shift+4" },
{ "command": { "action": "newTab", "index": 4 }, "keys": "ctrl+shift+5" },
{ "command": { "action": "newTab", "index": 5 }, "keys": "ctrl+shift+6" },
{ "command": { "action": "newTab", "index": 6 }, "keys": "ctrl+shift+7" },
{ "command": { "action": "newTab", "index": 7 }, "keys": "ctrl+shift+8" },
{ "command": { "action": "newTab", "index": 8 }, "keys": "ctrl+shift+9" },
4、切換選項卡
下一個 命令名稱:nextTab
{ "command": "nextTab", "keys": "ctrl+tab" }
上一個 命令名稱: prevTab
{ "command": "prevTab", "keys": "ctrl+shift+tab" }
切換指定的選項卡 命令名稱: switchToTab
{ "command": { "action": "switchToTab", "index": 0 }, "keys": "ctrl+1" },
{ "command": { "action": "switchToTab", "index": 1 }, "keys": "ctrl+2" },
{ "command": { "action": "switchToTab", "index": 2 }, "keys": "ctrl+3" },
{ "command": { "action": "switchToTab", "index": 3 }, "keys": "ctrl+4" },
{ "command": { "action": "switchToTab", "index": 4 }, "keys": "ctrl+5" },
{ "command": { "action": "switchToTab", "index": 5 }, "keys": "ctrl+6" },
{ "command": { "action": "switchToTab", "index": 6 }, "keys": "ctrl+7" },
{ "command": { "action": "switchToTab", "index": 7 }, "keys": "ctrl+8" },
{ "command": { "action": "switchToTab", "index": 8 }, "keys": "ctrl+9" },
三、窗格相關命令(窗格就是在一個選項卡中再拆分)
1、拆分窗格
命令名稱:splitPane
a、自動拆分
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" },
b、水平拆分
{ "command": { "action": "splitPane", "split": "horizontal"}, "keys": "alt+shift+-" }
c、垂直拆分
{ "command": { "action": "splitPane", "split": "vertical"}, "keys": "alt+shift+plus" }
2、關閉窗格
命令名稱:closePane
{ "command": "closePane", "keys": "ctrl+shift+w" }
3、移動窗格焦點
命令名稱:moveFocus
{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
{ "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
4、調整窗格大小
命令名稱: resizePane
{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },
{ "command": { "action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },
{ "command": { "action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" },
{ "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" },
四、剪貼板相關命令
1、複製
命令名稱: copy
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+c" },
2、粘貼
命令名稱: paste
{ "command": "paste", "keys": "ctrl+v" },
五、滾動命令
1、向上滾動
命令名稱: scrollUp
{ "command": "scrollUp", "keys": "ctrl+up" },
2、向下滾動
命令名稱: scrollDown
{ "command": "scrollDown", "keys": "ctrl+down" },
3、向上滾動一整頁
命令名稱: scrollUpPage
{ "command": "scrollUpPage", "keys": "pgup" },
4、向下滾動一整頁
命令名稱: scrollDownPage
{ "command": "scrollDownPage", "keys": "pgdn" },
六、字號調整命令
1、字號大小調整
命令名稱: adjustFontSize
{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+=" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+-" }
2、重置字號
命令名稱: resetFontSize
{ "command": "resetFontSize", "keys": "ctrl+0" }
三、使用
它默認已經幫你配好了powershell和cmd,其他使用:
1)其他終端如git bash
上面例子中已經配置好了就不多講。
2)ssh連接
首先確保安裝了openssh,在windows的設置-應用-應用和功能-管理可選功能-添加功能,找到OpenSSH客戶端,點擊安裝
ssh連接在安裝完openssh後,在powershell和cmd中就可以使用,不過添加進terminal後,就可以保存進配置,不用每次都輸入命令了。
新建一個profile,將commandline填寫爲
: "ssh -p port username@ip",port填寫端口號,username填寫用戶名,ip填寫ip地址。
這裏有一個不方便的地方是每次都要輸入密碼登錄,因此可以使用SSH密鑰對。在本地創建一個密鑰對,不會創建的可以參考下面這篇博文:https://blog.csdn.net/qq_36829091/article/details/81135581 。
創建完成後在C:\Users\你的用戶名\.ssh\ 這個路徑下,複製其中 id_rsa.pub 公鑰的內容。在遠程服務器的用戶家目錄(~)中,創建 .ssh 文件夾,在 .ssh 文件夾下創建 authorized_keys 文件,將 id_rsa.pub 公鑰中複製的內容寫入到 authorized_keys 文件中。這樣就可以實現ssh免密登錄了。
3)wsl(適用於Linux 的 Windows 子系統)
https://www.windows10.pro/bash-on-ubuntu-on-windows/
安裝完ubuntu後,新建一個profile,將commandline填寫爲
: "wsl.exe",這樣就能在terminal中啓動ubuntu了。不用虛擬機,直接在windows中使用linux子系統,很爽!目前版本更新後好像如果你係統裝了wsl,它會自動幫你添加到terminal中,不用再自己去配置了。
參考: