在本文中,我们将探讨Windows Terminal,它是WSL2的理想配套。它速度快、可配置、外观漂亮,并且提供了Windows和Linux开发的所有优点。
Windows已经完全接受了Linux,而WSL2使它成为一种无缝的乐趣。
你可以通过以下方式访问发行版的终端:
- 单击其开始菜单图标
- 在Powershell或命令提示符下输入
wsl
或bash
- 通过启动
%windir%\system32\bash.exe ~
的配置文件使用第三方终端选项(例如Cmder,ConEmu和Hyper) - 在VS Code中设置Linux为默认shell,方法是按
Ctrl + Shift + P
,然后输入/选择终端 Terminal: Select Default Shell,然后选择WSL Bash。
Windows Terminal提供了更多的选择,但你不会后悔安装它。新的应用功能。
- 支持WSL2,SSH,Powershell,cmd和其他命令行
- 多个选项卡和拆分窗格
- 搜索框
- 自定义键绑定
- GPU加速文字渲染
- 美观的新字体Cascadia Code
- 资源使用率低(每个选项卡通常10MB)
- 自动更新(如果使用Microsoft Store)
- 好的文档
- 它是开源的!
如何安装Windows Terminal
安装Windows Terminal的最简单方法是通过Microsoft Store:
ms-windows-store://pdp/?ProductId=9n0dx20hk701
如果此链接失败,请尝试在浏览器中打开Microsoft Store,或从Windows 开始菜单中启动Microsoft Store应用程序并搜索“Terminal”。
注意:注意不要选择早期的“ Windows Terminal Preview”应用程序。
点击 Get 并等待几秒钟以完成安装。
如果你无权访问商店,则可以从GitHub下载最新版本。
Windows Terminal 应用图标现在可在 Windows 开始菜单中使用。为方便访问,右键单击该图标并选择“锁定到开始”或“更多”,然后选择“锁定到任务栏”。
Windows Terminal入门
首次运行时,Windows Terminal以Powershell作为默认配置文件启动。下拉菜单可用于启动其他选项卡并访问设置:
终端会自动为你安装的所有WSL发行版和Windows shell生成配置文件,尽管你可以在全局设置中禁用生成。
管理标签和窗格
通过单击 + 图标或 Ctrl + Shift + T
打开默认配置文件的新标签。要打开其他个人资料的标签,请从下拉菜单中选择该标签,或按 Ctrl + Shift + N
,其中N是个人资料的编号。
按 Alt + Shift + D
复制并拆分窗格。每次使用时,活动窗格都会沿最长轴分成两部分:
强制创建:
- 垂直窗格中,按
Alt
+Shif
t ++
或 - 水平窗格,按
Alt
+Shift
+-
要在新窗格中打开另一个配置文件,请在从下拉菜单中选择时按住 Alt
键。
按住 Alt
键,然后使用光标键在键盘上的活动窗格之间切换。可以通过按住 Alt + Shift
并使用光标键相应地调整大小来调整窗格的大小。
可以通过双击文本来重命名选项卡,你还可以通过右键单击标签并选择菜单选项来更改名称或颜色:
这只会影响当前标签页;它不会永久更改个人资料。
要关闭活动窗格或选项卡,按 Alt + Shift + W
或输入终端的标准退出命令(通常是 exit
)。
字体大小
可以使用 Ctrl
+ +
和 Ctrl
+ -
来调整活动终端的文本大小。或者,按住 Ctrl
并滚动鼠标滚轮。
滚动
使用滚动条浏览终端输出。或者,按住 Ctrl
键,按光标向上、光标向下、Page Up或Page Down键,使用键盘导航。
搜索
按 Ctrl + Shift + F
打开搜索框:
输入任何术语,然后使用向上和向下图标搜索终端输出。单击 Aa
图标可激活和停用精确大小写匹配。
复制粘贴
默认情况下,复制和粘贴分别绑定到 Ctrl + Shift + C
和 Ctrl + Shift + V
,尽管 Ctrl + C
和 Ctrl + V
也可以。
注意:请警惕 Ctrl + C
可以终止Linux应用程序,因此建议使用Shift。
全局设置中提供了一个自动选择时复制选项,你还可以通过右键单击鼠标来粘贴当前剪贴板项目。
配置
可从下拉菜单或 Ctrl
+ ,
(逗号)访问设置。该配置在单个 settings.json
文件中定义,因此可能会提示你选择文本编辑器。VS Code是一个不错的选择,但是如果你希望在不使用颜色编码和语法检查的情况下进行编辑,则记事本就可以了。
settings.json
控件:
- global settings 全局设置,适用于所有配置文件
- profile settings 配置文件设置,用于定义配置文件
- custom color scheme settings 自定义配色方案设置,以及keybinding settings 键盘绑定设置
该文件使用以下格式:
// This file was initially generated by Windows Terminal
{
// general settings, e.g.
"initialRows": 40,
// profile settings
"profiles":
{
"defaults":
{
// settings that apply to all profiles
}
"list":
[
// list of individual profiles, e.g.
{
"guid": "{81d1dceb-c123-5678-90a1-123abc456def}",
"name": "Windows PowerShell",
"commandline": "powershell.exe"
},
{
"guid": "{91d1dceb-c123-5678-90a1-123abc456def}",
"name": "Ubuntu",
"source": "Windows.Terminal.Wsl"
}
]
}
// custom color schemes, e.g.
"schemes": [
{
"name": "My new theme",
"cursorColor": "#FFFFFF",
"selectionBackground": "#FFFFFF",
"background" : "#0C0C0C",
"foreground" : "#CCCCCC"
}
],
// custom key bindings, e.g.
"keybindings:
[
{ "command": "find", "keys": "ctrl+shift+f" }
]
}
默认值在 defaults.json
中定义。单击下拉菜单中的 Settings 时,按住 Alt
可以将其打开。
警告:请勿更改默认文件!使用它可以查看默认设置,并在必要时在settings.json中添加或更改设置。
全局配置
以下全局设置是最有用的,尽管Windows终端文档中记录了更多的全局设置。
defaultProfile
定义启动Windows Terminal时用作默认配置文件的GUID。
将 copyOnSelect
设置为 true
可将选定的文本自动复制到剪贴板,而无需按 Ctrl + Shift +C
。
将 copyFormatting
设置为 false
即可仅复制纯文本而无需任何样式。 (我希望这是所有应用程序的默认设置!)
将 initialColumns
和 initialRows
设置为水平和垂直尺寸的字符数。
可以将 tabWidthMode
设置为:
equal
:每个选项卡的宽度相同(默认值)titleLength
:每个标签都设置为其标题的宽度,或者compact
:非活动选项卡会缩小到其图标的宽度。
disabledProfileSources
设置一个数组,以防止自动生成配置文件。例如:
"disabledProfileSources": [
"Windows.Terminal.Wsl",
"Windows.Terminal.Azure",
"Windows.Terminal.PowershellCore"
],
这将禁用所有生成的配置文件,删除你要保留的任何一个。
Profile 个人资料设置
通过在 profile
、list
数组中创建一个对象组来定义新的配置文件。一个WSL2 Ubuntu的例子。
{
"guid": "{91d1dceb-c123-5678-90a1-123abc456def}",
"name": "Ubuntu",
"source": "Windows.Terminal.Wsl",
"startingDirectory": "//wsl$/Ubuntu/home/username/",
"colorScheme": "Tango Dark",
"useAcrylic": true,
"acrylicOpacity": 0.75,
"hidden": false
},
每个配置文件均使用以下设置进行定义:
设置 | 描述 |
---|---|
guid | 唯一标识符(必填)。对于新的配置文件,可以在guidgen.com上在线生成GUID。 |
source | 配置文件生成器。仅在自动添加了配置文件且不得对其进行编辑时使用。 |
commandline | 假定未设置“source”的情况下运行的可执行文件。例如,这可能是SSH命令,例如“ ssh yourname@domain.com” |
startingDirectory | Shell开始目录。对于WSL发行版,最好将其设置为“ //wsl$/Ubuntu/home/username/”,其中username是安装期间创建的用户 |
name | 下拉菜单中显示的个人资料名称 |
tabTitle | 标签标题中显示的名称 |
suppressApplicationTitle | 设置为true以强制bash中的“ tabTitle”或“ name” |
icon | 下拉菜单和标签中显示的图标的完整路径,例如“ C:/images/tux.png”。 24位PNG是最好的选择;不幸的是,不支持SVG |
hidden | 如果设置为true,则配置文件不会显示在下拉菜单中 |
fontFace | 使用特定的字体 |
fontSize | 使用特定的字体磅值整数 |
fontWeight | 使用特定的字体粗细。这可以是OpenType整数,也可以是关键字:"normal" , "thin" , "extra-light" , "light" , "semi-light" , "medium" , "semi-bold" , "bold" , "extra-bold" , "black" , "extra-black" |
padding | 在窗口边缘的文本周围填充。可以设置一个,两个或四个逗号分隔的值,例如“ 1、2、3、4”分别设置左,上,右和下 |
antialiasingMode | 抗锯齿方法。设置为 "灰度"(默认)、"cleartype "或 "aliased"。 |
cursorShape | 游标类型。设置为“bar”(默认),“vintage”,“underscore”,“ filledBox”或“ emptyBox” |
cursorHeight | “vintage”光标的高度,该高度定义为25到100之间的整数 |
cursorColor | 光标颜色,定义为“ #rgb”或“ #rrggbb” |
特定于主题的设置包括:
设置 | 描述 |
---|---|
colorScheme | 在defaults.json或settings.json中的“方案”列表中定义的配色方案的名称(请参见下文) |
useAcrylic | 设置为true以使用毛玻璃背景效果 |
acrylicOpacity | acrylic不透明度从0(完全透明)到1(完全不透明)。 |
backgroundImage | 背景图片的完整路径,例如“ C:/images/background.png” |
backgroundImageOpacity | 背景图像的不透明度从0(完全透明)到1(完全不透明) |
最后,在配置文件中添加 ”experimental.retroTerminalEffect”:true
,以实现复古的CRT效果!…
配色方案设置
可以将每个配置文件的 ”colorScheme”
设置为 defaults.json
中包含的任何配色方案的名称。例如:
“Campbell"
“Campbell Powershell”
“One Half Dark”
“One Half Light”
“Tango Dark”
“Tango Light”
“Vintage”
创建自己的配色方案
你可以在settings.json的“方案”数组中定义自己的方案对象。每种颜色均以十六进制值定义。例如:
"schemes": [
{
"name": "My New Theme",
"foreground": "#EEEEEE",
"background": "#111111",
"cursorColor": "#FFFFFF",
"black": "#000000",
"red": "#CC0000",
"green": "#4E9A06",
"yellow": "#C4A000",
"blue": "#3465A4",
"purple": "#75507B",
"cyan": "#06989A",
"white": "#EEEEEE",
"brightBlack": "#555753",
"brightRed": "#EF2929",
"brightGreen": "#8AE234",
"brightYellow": "#FCE94F",
"brightBlue": "#729FCF",
"brightPurple": "#AD7FA8",
"brightCyan": "#34E2E2",
"brightWhite": "#FFFFFF"
}
],
然后,可以通过在配置文件的 ”colorScheme”
设置中添加其 "name"
来使用该方案。例如:
"colorScheme": "My New Theme"
键盘绑定设置
settings.json
中的 ”keybindings”
数组会覆盖或补充 defaults.json
中设置的默认键绑定。每个键绑定都定义为具有 “command”
和 "keys"
组合的对象。例如:
// Ctrl + Shift + F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },
在某些情况下,“command”
可以是具有一个或多个参数的应用程序 "action"
。例如:
// Ctrl + Shift + 1 to open the first profile in a new tab
{
"command": { "action": "newTab", "index": 0 },
"keys": "ctrl+shift+1"
},
"keys"
值接受修饰符 ctrl +
,shift +
和 alt +
,后跟:
type | keys |
---|---|
功能键 | f1-f24 |
字母数字键 | a-z , 0-9 |
符号键 | - , = , [ , ] , \ , ; , ‘ , , , . , / |
光标键 | down , left , right , up , pagedown ,pageup ,pgdn , pgup , end , home , plus |
动作键 | tab , enter , esc , escape , space , backspace , delete , insert |
数字键盘 | numpad_0-numpad_9, numpad0-numpad9, numpad_add, numpad_plus, numpad_decimal, numpad_period, numpad_divide, numpad_minus, numpad_subtract, numpad_multiply |
例如,如果你想使用 Ctrl + F
打开搜索框,则可以在 settings.json
中的 ”keybindings”
数组中添加一行:tab
"keybindings":
[
{ "command": "find", "keys": "ctrl+f" }
]
搜索框也将用 Ctrl + Shift + F
打开,因为该设置是在 defaults.json
中定义的——除非你将组合键分配给另一个命令。
命令行选项
可以通过运行 wt.exe
从快捷方式或任何Windows或Linux终端启动Windows终端。支持以下选项:
选项 | 描述 |
---|---|
—help ,-h ,-? , /? | 显示帮助 |
—maximized ,-M | 启动最大值 |
—fullscreen ,-F | 启动全屏 |
你还可以传递由分号分隔的命令列表。命令用于定义新的选项卡和窗格以及其他控制参数:
命令 | 参数 | |
---|---|---|
new-tab | —profile or -p , —startingDirectory or -d , commandline , —title | 打开一个新标签页 |
split-pane | --horizontal or -H , —vertical or -V , —profile or -p , —startingDirectory or -d , commandline , —title | 打开一个新窗格 |
focus-tab | —target or -t | 聚焦标签 |
例子
以下示例必须从标准cmd命令行或快捷方式执行。
使用 Ubuntu
和 Windows Powershell
选项卡打开Windows终端:
wt -p "Ubuntu" ; new-tab -p "Windows PowerShell"
在单独的窗格中使用 Ubuntu
,Windows Powershell
和命令提示符配置文件打开Windows终端:
wt -p "Ubuntu" ; split-pane -V -p "Windows PowerShell" ; split-pane -H -p "Command Prompt"
Windows Terminal文档中提供了用于从Linux Shell或Powershell启动Windows Terminal的更多示例。
总结
希望你喜欢这篇Windows终端的介绍。正如所说,它是WSL2的理想配套。它速度快、可配置、外观漂亮,并且提供了Windows和Linux开发的所有优点。
原文:https://www.sitepoint.com/windows-terminal/
作者:Craig Buckler
微信搜索【前端全栈开发者】关注这个脱发、摆摊、卖货、持续学习的程序员,第一时间阅读最新文章,会优先两天发表新文章。关注即可大礼包,准能为你节省不少钱!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。