Skip to content

Instantly share code, notes, and snippets.

@mekhanme
Created December 26, 2019 10:23
Show Gist options
  • Save mekhanme/f7ef00489382fee8a3c7a30a8f0cf719 to your computer and use it in GitHub Desktop.
Save mekhanme/f7ef00489382fee8a3c7a30a8f0cf719 to your computer and use it in GitHub Desktop.
Windows Terminal config
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"globals": {
"alwaysShowTabs": true,
"copyOnSelect": false,
"wordDelimiters": " ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?│",
"defaultProfile": "{24e4b58f-d9bd-476e-9a95-bda3c133f5b4}",
"initialCols": 120,
"initialRows": 30,
"keybindings": [
{
"command": "copy",
"keys": [
"ctrl+insert"
]
},
{
"command": "copy",
"keys": [
"ctrl+shift+c"
]
},
{
"command": "paste",
"keys": [
"shift+insert"
]
},
{
"command": "paste",
"keys": [
"ctrl+shift+v"
]
},
// {
// "command": "closeTab",
// "keys": [
// "ctrl+w"
// ]
// },
// {
// "command": "newTab",
// "keys": [
// "ctrl+t"
// ]
// },
{
"command": "newTabProfile0",
"keys": [
"ctrl+shift+1"
]
},
{
"command": "newTabProfile1",
"keys": [
"ctrl+shift+2"
]
},
{
"command": "newTabProfile2",
"keys": [
"ctrl+shift+3"
]
},
{
"command": "newTabProfile3",
"keys": [
"ctrl+shift+4"
]
},
{
"command": "newTabProfile4",
"keys": [
"ctrl+shift+5"
]
},
{
"command": "nextTab",
"keys": [
"ctrl+tab"
]
},
// {
// "command": "openSettings",
// "keys": [
// "ctrl+,"
// ]
// },
{
"command": "prevTab",
"keys": [
"ctrl+shift+tab"
]
},
{
"command": "scrollDown",
"keys": [
"ctrl+shift+down"
]
},
{
"command": "scrollDownPage",
"keys": [
"ctrl+shift+pgdn"
]
},
{
"command": "scrollUp",
"keys": [
"ctrl+shift+up"
]
},
{
"command": "scrollUpPage",
"keys": [
"ctrl+shift+pgup"
]
}
// {
// "command": "switchToTab0",
// "keys": [
// "alt+1"
// ]
// },
// {
// "command": "switchToTab1",
// "keys": [
// "alt+2"
// ]
// },
// {
// "command": "switchToTab2",
// "keys": [
// "alt+3"
// ]
// },
// {
// "command": "switchToTab3",
// "keys": [
// "alt+4"
// ]
// },
// {
// "command": "switchToTab4",
// "keys": [
// "alt+5"
// ]
// },
// {
// "command": "switchToTab5",
// "keys": [
// "alt+6"
// ]
// },
// {
// "command": "switchToTab6",
// "keys": [
// "alt+7"
// ]
// },
// {
// "command": "switchToTab7",
// "keys": [
// "alt+8"
// ]
// },
// {
// "command": "switchToTab8",
// "keys": [
// "alt+9"
// ]
// }
],
"requestedTheme": "dark",
"showTabsInTitlebar": true,
"showTerminalTitleInTitlebar": false
},
"profiles": [
{
"acrylicOpacity": 0.5,
"background": "#012456",
"closeOnExit": true,
"colorScheme": "Campbell",
"commandline": "powershell.exe",
"cursorColor": "#FFFFFF",
"cursorShape": "emptyBox",
"fontFace": "Fira Code",
"fontSize": 10,
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"historySize": 9001,
"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
"name": "Windows PowerShell",
"padding": "0, 0, 0, 0",
"snapOnInput": true,
"startingDirectory": "%USERPROFILE%",
"useAcrylic": false
},
{
"acrylicOpacity": 0.75,
"closeOnExit": true,
"colorScheme": "Campbell",
"commandline": "cmd.exe",
"cursorColor": "#FFFFFF",
"cursorShape": "bar",
"fontFace": "Consolas",
"fontSize": 10,
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"historySize": 9001,
"icon": "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name": "cmd",
"padding": "0, 0, 0, 0",
"snapOnInput": true,
"startingDirectory": "%USERPROFILE%",
"useAcrylic": true
},
{
"name": "kali-linux",
"hidden": false,
"guid": "{24e4b58f-d9bd-476e-9a95-bda3c133f5b4}",
"startingDirectory": "//wsl$/kali-linux/root",
"commandline": "wsl.exe --distribution kali-linux --exec zsh",
"historySize": 30000,
// "background": "#6c6cd2",
// "backgroundImage": "",
// "icon": "",
"backgroundImageOpacity": 0.2,
"backgroundImageStretchMode": "uniformToFill",
"backgroundImageAlignment": "top",
"useAcrylic": false,
"acrylicOpacity": 0.85,
"colorScheme": "One Half Dark",
"cursorHeight": 30,
"padding": "3, 3, 3, 3",
"cursorShape": "emptyBox",
"cursorColor": "#b40e9e",
"fontFace": "Fira Code",
"fontSize": 10
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
},
{
"guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
"hidden": false,
"name": "Debian",
"source": "Windows.Terminal.Wsl"
},
{
"guid": "{46ca431a-3a87-5fb3-83cd-11ececc031d2}",
"hidden": false,
"name": "kali-linux",
"source": "Windows.Terminal.Wsl"
}
],
"schemes": [
{
"background": "#0C0C0C",
"black": "#0C0C0C",
"blue": "#0037DA",
"brightBlack": "#767676",
"brightBlue": "#3B78FF",
"brightCyan": "#61D6D6",
"brightGreen": "#16C60C",
"brightPurple": "#B4009E",
"brightRed": "#E74856",
"brightWhite": "#F2F2F2",
"brightYellow": "#F9F1A5",
"cyan": "#3A96DD",
"foreground": "#CCCCCC",
"green": "#13A10E",
"name": "Campbell",
"purple": "#881798",
"red": "#C50F1F",
"white": "#CCCCCC",
"yellow": "#C19C00"
},
{
"background": "#282C34",
"black": "#282C34",
"blue": "#61AFEF",
"brightBlack": "#5A6374",
"brightBlue": "#61AFEF",
"brightCyan": "#56B6C2",
"brightGreen": "#98C379",
"brightPurple": "#C678DD",
"brightRed": "#E06C75",
"brightWhite": "#DCDFE4",
"brightYellow": "#E5C07B",
"cyan": "#56B6C2",
"foreground": "#DCDFE4",
"green": "#98C379",
"name": "One Half Dark",
"purple": "#C678DD",
"red": "#E06C75",
"white": "#DCDFE4",
"yellow": "#E5C07B"
},
{
"background": "#FAFAFA",
"black": "#383A42",
"blue": "#0184BC",
"brightBlack": "#4F525D",
"brightBlue": "#61AFEF",
"brightCyan": "#56B5C1",
"brightGreen": "#98C379",
"brightPurple": "#C577DD",
"brightRed": "#DF6C75",
"brightWhite": "#FFFFFF",
"brightYellow": "#E4C07A",
"cyan": "#0997B3",
"foreground": "#383A42",
"green": "#50A14F",
"name": "One Half Light",
"purple": "#A626A4",
"red": "#E45649",
"white": "#FAFAFA",
"yellow": "#C18301"
},
{
"background": "#002B36",
"black": "#073642",
"blue": "#268BD2",
"brightBlack": "#002B36",
"brightBlue": "#839496",
"brightCyan": "#93A1A1",
"brightGreen": "#586E75",
"brightPurple": "#6C71C4",
"brightRed": "#CB4B16",
"brightWhite": "#FDF6E3",
"brightYellow": "#657B83",
"cyan": "#2AA198",
"foreground": "#839496",
"green": "#859900",
"name": "Solarized Dark",
"purple": "#D33682",
"red": "#DC322F",
"white": "#EEE8D5",
"yellow": "#B58900"
},
{
"background": "#FDF6E3",
"black": "#073642",
"blue": "#268BD2",
"brightBlack": "#002B36",
"brightBlue": "#839496",
"brightCyan": "#93A1A1",
"brightGreen": "#586E75",
"brightPurple": "#6C71C4",
"brightRed": "#CB4B16",
"brightWhite": "#FDF6E3",
"brightYellow": "#657B83",
"cyan": "#2AA198",
"foreground": "#657B83",
"green": "#859900",
"name": "Solarized Light",
"purple": "#D33682",
"red": "#DC322F",
"white": "#EEE8D5",
"yellow": "#B58900"
}
]
}
@mekhanme
Copy link
Author

Цветовые схемы дефолтные
Профили powershell и cmd тоже не изменены (кроме шрифта)
Основной профиль WSL kali-linux, запускается в /root, в commandline прописан запуск zsh (wsl.exe --distribution kali-linux --exec zsh)
Шрифт стоит Fira Code
К keybindings добавлены сочетания copy и paste (shift+insert/ctrl+insert), помимо дефолтных (ctrl+shift+v/ctrl+shift+c)
Закомментированы сочетания ctrl+w, ctrl+t, ctrl+, так как эти сочетания активно используются в shell
Закомментированы сочетания alt+1 -- alt-9, так как ти сочетания активно используются в tmux

Подробнее про Windows Terminal и WSL:
Настройка окружения в CLI. WSL / Windows Terminal (habr.com)

Windows Terminal

@lazyfox81
Copy link

Мне нравится статусбар! Можно конфиг?

@mekhanme
Copy link
Author

mekhanme commented Mar 5, 2020

Мне нравится статусбар! Можно конфиг?

Это tmux, в курсе, да? Если с ним знаком, могу выложить скелет конфига, что-то подправишь. А так я много работал над конфигом tmux и он разросся до 765 строчек :) если только секцию статус бара скопировать, что-то может не отрендериться правильно на чистом остальном конфиге + нужна последняя версия tmux, которую надо компилировать, склонировав репозиторий с гитхаба.

@lazyfox81
Copy link

Раньше не пользовался, но, возможно время пришло)) Выложи конфиг!

@mekhanme
Copy link
Author

mekhanme commented Mar 5, 2020

Раньше не пользовался, но, возможно время пришло)) Выложи конфиг!

Ок, выложу часть, касающуюся статус-бара, но без погружения в конфиг будет не понятно, как оно работает (или не работает) и как что-то поменять. Часть конфига, например #(wemux status_users), является типа плейсхолдером, куда выводит информацию плагин (они устанавливаются отдельно).
А в будущем я планировал написать статейку о гибкой настройке tmux, с полным конфигом и инструкцией по работе с ним. Но пока нет вдохновения и достаточного времени :) Но если напишу, то постараюсь вспомнить и отписать сюда в коммент.

# цвет основной панели (посередине)
set-option -g status-style "bg=#6c6cd2,fg=#9c27b0"

# цвет и формат левой части панели
set-option -g status-left "\
#[fg=#80cbc4,bg=#6a1b9a,bold] \
$#S #[fg=#6a1b9a,bg=#9c27b0,nobold]#[fg=#80cbc4,bg=#9c27b0] \
@#I╳%%#P #[fg=#9c27b0,bg=#80cbc4] #[fg=#6a1b9a,bg=#80cbc4] \
#{?window_zoomed_flag,🔍,}#{?monitor-activity,👀,}#{?monitor-bell,👾,}#{?#{!=:#{monitor-silence},0},😺#{monitor-silence}s,} #{?client_prefix,💜, } \
#[fg=#80cbc4,bg=#6c6cd2,nobold]"
# #{prefix_highlight}"

# цвет и формат правой части панели
set-option -g status-right "\
#[fg=#80cbc4,bg=#6c6cd2]#[fg=#6c6cd2,bg=#80cbc4] \
#[fg=#6c6cd2,bg=#80cbc4]\
#{docker_status}\
🤖╳#[fg=#9c27b0]#(echo ${SSH_AGENT_ID} | sed 's/.*@//') #[fg=#6c6cd2]\
#[fg=#9c27b0,bg=#80cbc4]#[fg=#80cbc4,bg=#9c27b0] \
#{?#{>=:#{client_width},70},"...",#(date +"%H:%M")}<~#{?#{>=:#{client_width},70},"",#(date -I)} \
#[fg=#6a1b9a,bg=#9c27b0]#[fg=#80cbc4,bg=#6a1b9a,bold] \
#(wemux status_users) #H "

p.s. некоторые символы тут на гитхабе не рисуются, так как нужны шрифты с поддержкой т.н. powerline символов. если скопировать  в редактор или в консоль с правильным шрифтом, то будет отображаться правильно.

@lazyfox81
Copy link

Спасибо! Отличная статья на хабре, мне очень понравилась! Надеюсь, и про tmux напишешь!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment