• Windows Terminal入门


    0.引言

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

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

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

    1.简易安装

    1. 打开Microsoft Store

      Microsoft Store

    2. 搜索Windows Terminal,安装即可

    WT搜索结果界面

    2.初识WT

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

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

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

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

    WT打开界面

    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

  • 相关阅读:
    How To Run Docker in Docker Container [3 Easy Methods]
    design patterns of refactoring guru
    MathJax A JavaScript display engine for mathematics that works in all browsers.
    SoC the root design principle
    Kubernetes plugin for Jenkins
    Inversion of Control
    Python Metaclasses
    JNLP the foundametal of distributed computing of Jenkins
    C# 表达式树Expression
    ML .NET 电影评论情绪分析
  • 原文地址:https://www.cnblogs.com/Lu-Yuyang/p/12238581.html
Copyright © 2020-2023  润新知