DEV Community

GharamElhendy
GharamElhendy

Posted on

(Windows) Drop Git Bash, Use MS Windows Terminal

So, for my first commit to Github, I used the complicated tool: Git Bash. Not my favorite user interface, if you ask me.

A great alternative, with syntax highlighting! As a coding newbie, this is a super handy feature for me.

Here's a guide on how to get the best user experience from this whole ordeal.

First, go to the Microsoft Store, download, and install "Windows Terminal."

Click the down arrow, choose settings, and create a new profile with the name and tab title "Git Bash." The command line should be the .exe file of Git Bash.

Once you do that, in the window of your Git Bash Profile, click the settings gear on the bottom left, and a .json file will be opened.

Back that .json file to any text file, and then copy and paste the following to the original .json file to get the final look of the terminal.

// This file was initially generated by Windows Terminal 1.0.1401.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.

// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",

"defaultProfile": "{00000000-0000-0000-ba54-000000000002}",
"multiLinePasteWarning": false,
// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings

// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": false,

// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,

// 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":
    {
        // Put settings here that you want to apply to all profiles.
    },
    "list":
    [
{
Enter fullscreen mode Exit fullscreen mode

"guid": "{00000000-0000-0000-ba54-000000000002}",
"tabTitle": "Git Bash",
"acrylicOpacity" : 0.90,
"closeOnExit" : true,
"colorScheme" : "One Half Dark",
"commandline" : "\"%PROGRAMFILES%\git\usr\bin\bash.exe\" -i -l",
"cursorColor" : "#FFFFFF",
"cursorShape" : "bar",
"fontFace" : "Consolas",
"fontSize" : 10,
"historySize" : 9001,
"icon" : "C:\Program Files\Git\mingw64\share\git\git-for-windows.ico",
"name" : "Bash",
"padding" : "0, 0, 0, 0",
"snapOnInput" : true,
//"startingDirectory" : "%USERPROFILE%",
"startingDirectory" : "%CD%",
"useAcrylic" : true
},
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "Command Prompt",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "http://Windows.Terminal.Azure"
},
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"tabTitle": "Ubuntu",
"name": "Ubuntu",
"fontSize" : 10,
"historySize" : 9001,
"black": "#050505",
"red": "#e9897c",
"green": "#b6377d",
"yellow": "#ecebbe",
"blue": "#a9cdeb",
"purple": "#75507b",
"cyan": "#c9caec",
"white": "#f2f2f2",
"brightBlack": "#141414",
"brightRed": "#f99286",
"brightGreen": "#c3f786",
"brightYellow": "#fcfbcc",
"brightBlue": "#b6defb",
"brightPurple": "#ad7fa8",
"brightCyan": "#d7d9fc",
"brightWhite": "#e2e2e2",
"background": "#1a1a1a",
"foreground": "#acacab",
"selectionBackground": "#4d4d4d",
"cursorColor": "#fcfbcc"
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
}
]
},

// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
"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" },

    // Press Ctrl+Shift+F to open the search box
    { "command": "find", "keys": "ctrl+shift+f" },

    // 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" }
]
Enter fullscreen mode Exit fullscreen mode

}

Credits go to Mohammed Yassin.

Git_It

Top comments (0)