0.引言

Windows Terminal (以下简称WT)将 PowerShell、Cmd 以及 Windows Linux 子系统(WSL)三大环境实现统一,并且提供美观的页面以及高度自定义的可能。

本文将简述WT的安装,详细的自定义配置,以及常用的连接云服务器和WSL方法。

项目GitHub地址:https://github.com/microsoft/terminal

1.简易安装

  1. 打开Microsoft Store

  2. 搜索Windows Terminal,安装即可

2.初识WT

打开WT有如下界面(默认打开的是PowerShell,可以自由更改)。

顶部菜单栏的,可以新建一个默认控制台。

顶部菜单栏的,可以新建指定的控制台。(后两个控制台为自定义的,后续会介绍)

其中最重要的也就是可以自定义的地方就是Settings选项

3.初识Settings

  1. 文件名:profiles.json

  2. 文档基本结构

    {
    "$schema": "https://aka.ms/terminal-profiles-schema",
    // 默认终端
    "defaultProfile": "{Profile's GUID}", // 是否在标题栏显示终端名称
    "showTerminalTitleInTitlebar": true, // 根据自己意愿添加全局设置
    "GlobalSettings": "GlobalSettingsValue", // 每一个终端的配置
    "profiles": [{...},{...}], // 配色方案
    "schema": [{...},{...}], // 键位绑定
    "keybindings": [{...},{...}]
    }
  3. 该配置文件的具体配置信息在github上有描述(下文我将会简要描述一下具体内容),地址:https://github.com/microsoft/terminal/blob/master/doc/cascadia/SettingsSchema.md

3.1全局配置

{
// 以下为官方给出的全局配置,填写的值为默认值
"alwaysShowTabs" : true, // 是否总是显示
"copyOnSelect" : false, // 当选中时复制
"defaultProfile" : "PowerShell guid", // 默认终端的guid
"initialCols" : 120, // 初始化行数
"initialRows" : 30, // 初始化列数
"rowsToScroll" : "system", // 滚动时的列数,默认与系统一致,也可以自定义一个整数
"requestedTheme" : "system", // 设置app的主题,变量:"light","dark","system"
"showTerminalTitleInTitlebar" : true, // 终端标题是否在标题栏显示
"showTabsInTitlebar" : true, // 选项卡是否在标题栏显示
"snapToGridOnResize" : false,
"tabWidthMode" : "equal", // 选项卡的宽度,变量: "equal"(平等),"titleLength"(与标题等长)
"wordDelimiters" : "/\()"'-:,.;<>~!@#$%^&*|+=[]{}?"
}

3.2每一个终端配置

"profiles": [
{
*"guid" : "{00000000-0000-0000-0000-000000000000}", // guid必须为该格式,后附上自动生成guid地址
*"name" : "XXXXX", // 名称,在菜单中显示
"tabTitle" : "", // 标题栏上的名称
"icon" : "", // 显示在标题栏上的图标
"hidden" : false, // 是否隐藏
"commandline" : "", // 在终端中可执行字段
"historySize" : 9001,// 允许的历史命令行数
"startingDirectory" : "", // 开始时的目录
"suppressApplicationTitle" : true, // "tabTitle"覆盖默认标题 "cursorColor" : "#rrggbb", // 光标的颜色
"cursorShape" : "bar", //光标的形状,变量:"vintage"(▃),"bar"(┃),"underscore"(▁),"filledBox"(█),"emptyBox"(▯)
"cursorHeight": 25, // 光标高度,25-100,当且仅当"cursorShape"="vintage" "colorScheme" : "Campbell", // 配色方案
"colorTable" : [], // 配色方案数组,当且仅当"colorScheme"属性未定义
"background" : "#rrggbb", // 背景颜色,十六进制颜色
"foreground" : "#rrggbb", // 前景色,十六进制颜色
"selectionBackground" : "", // 被选中部分颜色,将覆盖配色方案中设置 "backgroundImage" : "", // 图片的绝对路径
"backgroundImageAlignment" : "center", // 图片对齐标准,变量: "center","left","top","right","bottom","topLeft","topRight","bottomLeft","bottomRight"
"backgroundImageOpacity" : 1.0, // 背景图的透明度0-1
"backgroundImageStrechMode" : "uniformToFill", // 填充方式,变量:"none","fill","uniform","uniformToFill" "fontFace" : "Consolas", // 字体
"fontSize" : 12, // 字体大小 "padding" : "8,8,8,8", // 终端的内边距
"scrollbarState" : "", // 滚动条状态,变量:"visible","hidden"
"useAcrylic" : true, // 是否使用毛玻璃
"acrylicOpacity" : 0.5, // 毛玻璃透明度 "snapOnInput" : true, // 输入时是否将页面滚动到输入位置
"closeOnExit" : true, // 退出时关闭,变量:"graceful","always","never"
},
{...}
]

自动生成GUID网站:http://www.ofmonkey.com/transfer/guid

每一个终端的GUID必须唯一

3.3配色方案

以下列出的属性特定于不同的配色方案。ColorTool 可以用来创建和探索新的配色方案。所有颜色使用十六进制颜色格式

"schemes": [
{
"name":"",
"foreground" : "#rrggbb",
"background`" : "#rrggbb",
"selectionBackground" : "#rrggbb",
"black" : "#rrggbb",
"blue" : "#rrggbb",
"brightBlack" : "#rrggbb",
"brightBlue" : "#rrggbb",
"brightCyan" : "#rrggbb",
"brightGreen" : "#rrggbb",
"brightPurple" : "#rrggbb",
"brightRed" : "#rrggbb",
"brightWhite" : "#rrggbb",
"brightYellow" : "#rrggbb",
"cyan" : "#rrggbb",
"green" : "#rrggbb",
"purple" : "#rrggbb",
"red" : "#rrggbb",
"white" : "#rrggbb",
"yellow" : "#rrggbb"
// "black"到"yellow"的属性可以简写成如下数组,依次为每一个颜色的值
// "colors":[
// "#rrggbb",
// ...
// ]
},
{...}
]

3.4键位绑定

"keybindings" : [
{
"command" : "",
"keys" : ["","",,]
},
{...}
]

3.4.1提供的command

0 1 2 3 4 5 6 7
1 copy newTabProfile1 newTabProfile8 increaseFontSize switchToTab0 switchToTab7 resizePaneDown
2 copyTextWithoutNewlines newTabProfile2 closeWindow decreaseFontSize switchToTab1 switchToTab8 moveFocusLeft
3 paste newTabProfile3 closeTab resetFontSize switchToTab2 openSettings moveFocusRight
4 newTab newTabProfile4 closePane scrollUp switchToTab3 splitPane moveFocusUp
5 openNewTabDropdown newTabProfile5 switchToTab scrollDown switchToTab4 resizePaneLeft moveFocusDown
6 duplicateTab newTabProfile6 nextTab scrollUpPage switchToTab5 resizePaneRight toggleFullscreen
7 newTabProfile0 newTabProfile7 prevTab scrollDownPage switchToTab6 resizePaneUp find

3.4.2可供参考的keys

0 1 2 3
1 ctrl+1 shift+numpad_1 ctrl+alt+shift+pgup
2 ctrl+plus ctrL+shift+numpad_plus -
3 alt+- ctrl+pgdn -

4.连接云服务器

以添加腾讯云CentOS 7.4为例

只需修改"commandline"命令即可

"commandline" : "ssh -p 端口号 用户名@服务器地址"

5.连接WSL

只需安装WSL则会在配置中自动添加WSL相关的终端。

同样推荐如何安装WSL的博客:https://www.jianshu.com/p/32b241189739

6.玩转Emoji

以下仅推荐别人的博客:https://blog.csdn.net/sD7O95O/article/details/94501960

Windows Terminal入门的更多相关文章

  1. Windows Terminal 新手入门

    翻译自 Kayla Cinnamon 2020年12月17日的文章<Getting Started with Windows Terminal> [1] 安装 Windows Termin ...

  2. Windows编程入门程序详解

    引用:http://blog.csdn.net/jarvischu/article/details/8115390 1.     程序 /******************************* ...

  3. Windows Azure 入门系列课程Windows Azure 入门系列课程

    Windows Azure 入门系列课程 https://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/NewSeries/A ...

  4. C#创建Windows服务入门图解(VS2010)

    C#创建Windows服务入门图解(VS2010) Windows服务大家都知道,比如Audio.Theme都是大家比较熟悉的服务,他们可以设为自动启动的,并且在注册表的开机自启动项里是没有痕迹的.所 ...

  5. 微软云平台windows azure入门系列八课程

    微软云平台windows azure入门系列八课程: Windows Azure入门教学系列 (一): 创建第一个WebRole程序与部署 Windows Azure入门教学系列 (二): 创建第一个 ...

  6. Windows Azure入门教学系列 (二):部署第一个Web Role程序

    本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...

  7. Windows Azure入门教学系列 (一): 创建第一个WebRole程序

    原文 Windows Azure入门教学系列 (一): 创建第一个WebRole程序 在第一篇教学中,我们将学习如何在Visual Studio 2008 SP1中创建一个WebRole程序(C#语言 ...

  8. Windows Azure入门教学系列 (九):Windows Azure 诊断功能

    本文是Windows Azure入门教学的第九篇文章. 本文将会介绍如何使用Windows Azure 诊断功能.跟部署在本地服务器上的程序不同,当我们的程序发布到云端之后,我们不能使用通常的调试方法 ...

  9. Windows Azure入门教学系列 (七):使用REST API访问Storage Service

    本文是Windows Azure入门教学的第七篇文章. 本文将会介绍如何使用REST API来直接访问Storage Service. 在前三篇教学中,我们已经学习了使用Windows Azure S ...

随机推荐

  1. dotnet 启动 JIT 多核心编译提升启动性能

    用2分钟提升十分之一的启动性能,通过在桌面程序启动 JIT 多核心编译提升启动性能 在 dotnet 可以通过让 JIT 进行多核心编译提升软件的启动性能,在默认托管的 ASP.NET 程序是开启的, ...

  2. react-native-swiper使用时候的小坑

    react-native版本:0.61.1 react-native-swiper版本:1.5.14 当时第一次使用时候直接粘贴的别人博客的教程代码,只修改了swiper里面的元素,结果发现不能切换, ...

  3. js实现防抖,节流

    防抖函数. 将几次操作合并为一次操作进行.设置一个计时器,规定在延迟时间后触发函数,但是在延迟时间内如果再次触发,就会取消之前的计时器.如此,只有最后一次操作能触发.代码如下: function de ...

  4. Cmder安装与使用

    越来越多人使用Cmder代替Windows的cmd(毕竟其界面太Lower了),但是每次用Cmder都要回到安装目录查找之后才能使用,真的很麻烦,有木有可以像Git一样右键就是可以用的方法呢?答案当然 ...

  5. 图解Go里面的互斥锁mutex了解编程语言核心实现源码

    1. 锁的基础概念 1.1 CAS与轮询 1.1.1 cas实现锁 在锁的实现中现在越来越多的采用CAS来进行,通过利用处理器的CAS指令来实现对给定变量的值交换来进行锁的获取 1.1.2 轮询锁 在 ...

  6. 0017 CSS 三大特性:层叠性、继承性、优先级

    目标: 理解 能说出css样式冲突采取的原则 能说出那些常见的样式会有继承 应用 能写出CSS优先级的算法 能会计算常见选择器的叠加值 5.1 CSS层叠性 概念: 所谓层叠性是指多种CSS样式的叠加 ...

  7. JWT实现分布式Session

    JWT是什么 JWT一看就是简称,它的全称JSON Web Token,从字面上我们看出 1.数据是JSON格式 2.用于Web应用 3.是一个Token,也就是一个令牌方式 看看官方的说明,它定义了 ...

  8. mysql主从之binlog的工作模式

    一 三种模式介绍 1.1 查看mysql主库的binlog格式 binlog仅在主库设置即可,从库无需设置 binlog的默认方式为STATEMENT ( show variables like '% ...

  9. 如何在Linux上创建,列出和删除Docker容器

    本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容. 1.启动Docker容器 使用下面的命令启动新的Docker容器.这将启动一个新的容器,并为你提供 ...

  10. 远程管理服务器--批量管理服务器,vps

    一般大型的企事业单位都有自己的服务器,但是服务器一般都放在机房,辐射较大,噪音大,如何能有效的避免这一情况呢?哈哈,那就来个远程桌面,远程操作服务器吧. 一.使用 iis7远程连接管理工具工具下载官网 ...