Цель этого репозитория заключается в исследовании способов создания удобной консольной среды на Windows. С появлением Windows Terminal и WSL2 Microsoft предложила лучшее решение. Однако, текущая версия WSL2 по-прежнему напоминает виртуальную машину и требует значительных ресурсов, что делает её непригодной для использования на компьютерах с 8 ГБ оперативной памяти. Я считаю, что на данном этапе лучшим выбором будет комбинация Windows Terminal (терминал) и Git Bash (shell), с использованием WSL2 в качестве поддержки.
Поэтому я рекомендую использовать Windows Terminal в качестве терминала и Git Bash в качестве shell. Основное преимущество Git Bash заключается в использовании alias и встроенных часто используемых команд Linux, а также в высокой производительности. С другой стороны, Windows Terminal предлагает лучшую настраиваемость и удобство использования в качестве терминала, например, благодаря встроенным функциям многоколоночного режима и разделения экрана. В настоящее время в Windows Terminal необходимо самостоятельно настроить сочетания клавиш, я разместил свои настройки в файле profiles.json
, который можно использовать в качестве примера.
Все следующие команды необходимо выполнять в Git Bash, запущенном с правами администратора.Сначала клонируйте репозиторий, а затем перейдите в каталог репозитория.
$ git clone https://github.com/xnng/my-git-bash.git
$ cd my-git-bash
зеркало на gitee:
$ git clone https://gitee.com/xnng/bash.git
$ cd bash
Эти шрифты решают проблему смешения символов Unicode. После выполнения команды перетащите файл шрифтов внутрь для завершения установки.
$ start c://Windows//Fonts && start %cd%/fonts
$ cp .minttyrc ~ && cp git-prompt.sh /etc/profile.d
После установки темы будут активированы быстрые клавиши для копирования и вставки: Ctrl + Shift + C/V. Для использования этих клавиш необходимо, чтобы версия Git Bash была выше 2.20.0.
Tmux — это мощный инструмент для управления терминалом, который позволяет использовать несколько вкладок в одном окне и делить экран. С помощью плагинов можно сохранять и восстанавливать данные окон одним щелчком.
Исходный код tmux для Windows: https://github.com/hongwenjun/tmux_for_windows
$ cp tmux/bin/* /usr/bin && cp tmux/share/* /usr/share -r
Активировать управление мышью:
$ echo -e "setw -g mouse\nset-option -g mouse on" > ~/.tmux.conf
Инструкции по использованию Tmux: https://juejin.im/post/5a8917336fb9a0633e51ddb9
$ cp tools/* /usr/bin
Вот быстрые клавиши терминала Git Bash
Клавиша | Эффект |
---|---|
Alt + Enter | Полный экран |
Закрыть окно | Ctrl + D (только если текущая строка пуста) |
Очистить | Ctrl + L |
Открыть терминал | Правый клик на ярлыке, настройка в свойствах |
Копировать/вставить | Ctrl + Shift + C/V (начиная с версии v2.20.0) |
Другие быстрые клавиши соответствуют стандартным быстрым клавишам Bash, например Ctrl + R
для поиска истории команд, exit
для выхода из терминала, clear
и reset
для очистки экрана, Ctrl + E/A
для перемещения курсора в начало или конец строки, и т.д. Подробнее можно найти в интернете.
Ниже приведены мои личные настройки, не следует копировать их.
$ cp .bash_profile ~
$ cp tmux/.tmux.conf ~
Плагины значительно увеличивают время создания новой сессии tmux, поэтому их следует использовать только при необходимости.
$ mkdir -p ~/.tmux/plugins/tpm
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Откомментируйте все строки и установите плагины, нажав prefix I
.### Установка моего конфига git
$ cp .gitconfig ~
Git Bash
в VSCodeДля использования Git Bash
в VSCode достаточно добавить следующие строки в Settings.json
, путь к bash.exe
следует заменить на свой.
{
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.integrated.shellArgs.windows": ["--login", "-i"]
}
После настройки глобальных快捷键 для Git Bash
, может возникнуть ситуация, когда нажатие этих клавиш приводит к задержке в два секунды перед открытием терминала. Для решения этой проблемы необходимо отключить службу superFetch
, которая в более новых версиях Windows 10 была переименована в sysMain
. Изменения вступят в силу после перезапуска операционной системы.
При использовании некоторых команд, таких как python
, mongo
, mysql
, redis-cli
, может возникнуть зависание или невозможность выбора опций с помощью стрелок. Для решения этой проблемы необходимо добавить winpty
перед командой. Это может быть неудобно, поэтому можно создать псевдонимы для команд, например:
alias wsl='winpty wsl'
alias mysql='winpty mysql -uroot -p'
alias mongo='winpty mongo'
alias redis-cli='winpty redis-cli'
```Многие консольные инструменты предоставляют возможность выбора опций с помощью стрелок, но эта функция может не работать в `Git Bash`. Для решения этой проблемы необходимо добавить `winpty` перед командой и использовать расширение `.cmd`, например:
```bash
alias vue='winpty vue.cmd'
2019-11-08
Windows Terminal
2019-04-28
2019-03-25
Visual Studio Code
Git Bash
2019-03-23
tmux
2019-02-03
vim
tmux
Ctrl + Shift + C/V
2018-12-24
tmux
, чтобы сессии сохранялись локальноВы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )