Search notes:

Windows Terminal

Installing

choco install -y microsoft-windows-terminal --pre 
choco install -y microsoft-windows-terminal

Starting from the command line / exe name

The executable name of Windows Terminal is wt.exe (which allows to open it from another command line application) and is installed under C:\Users\username\AppData\Local\Microsoft\WindowsApps even though it is installed for all users! As all other executables in that directory, it is 0 bytes.

settings.json

The settings.json file stores the settings to be used in Microsoft Terminal.
The file is located here: %localappdata%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
{
    "$schema"       : "https://aka.ms/terminal-profiles-schema",

  // Global application settings here.
  //      see also https://aka.ms/terminal-global-settings
  // --------------------------------------------------

    "defaultProfile"       : "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}" ,  // Change GUID to specify default application (from profiles -> list below)
    "launchMode"           : "maximized"                              ,  // wt.exe -M
    "copyOnSelect"         :  false                                   ,  // If enabled, selections are automatically copied to your clipboard.
    "copyFormatting"       :  false                                   ,  // If enabled, formatted data is also copied to your clipboard
    "multiLinePasteWarning":  false                                   ,  // Prevent warning "You are about to paste text that contains multiple lines…"


    // 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": { // Settings that apply for all profiles

           "fontSize": 10

        },
        "list": [
            {
                "guid"       : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name"       : "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden"     :  false
            },
            {
                "guid"       : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name"       : "Command Prompt",
                "commandline": "cmd.exe",
                "hidden"     :  false
            },
            {
                "guid"       : "{46ca431a-3a87-5fb3-83cd-11ececc031d2}",
                "hidden"     :  false,
                "name"       : "kali-linux",
                "source"     : "Windows.Terminal.Wsl"
            },
            {
                "guid"       : "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
                "hidden"     :  false,
                "name"       : "Debian",
                "source"     : "Windows.Terminal.Wsl"
            },
            {
                "guid"       : "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden"     :  false,
                "name"       : "Azure Cloud Shell",
                "source"     : "Windows.Terminal.Azure"
            }
        ]
    },

    "schemes": [], // custom color schemes, see also https://aka.ms/terminal-color-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" },
        { "command": "find" , "keys": "ctrl+shift+f" }, // Search box

        // 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" }
    ]
}
See also https://aka.ms/terminal-documentation

Keyboard shortcuts

Some interesting keyboard shortcuts include
alt+shift + - / = split horizontally / vertically { "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+plus" } / { "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+-" }
alt + arrow Change panes { "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" }
ctrl + tab cycle through tabs { "command": "nextTab", "keys": "ctrl+tab" }
ctrl+shift + f Open search box to find string { "command": "find", "keys": "ctrl+shift+f" }
ctrl + + / - Increase/decrease font size

Improved ANSI escape sequence support

The Windows Terminal has an improved ANSI escape sequence support. For example blinking text is not possible in cmd.exe, but is possible in Windows Terminal.

TODO

Warning: you are about to paste text that contains muliple lines

It's possible to get rid of the warning that pops up if multiple lines are about to be pasted by setting the value of multiLinePasteWarning to false in the settings.json file.

See also

conhost.exe
Windows Terminal has an Azure Cloud Connector which allows to connect to the Azure Cloud Shell.
VMCreate.exe allows to quickly install a Windows 11 dev environment which comes with Windows Terminal

Index