Красивая консоль для работы с git под Windows

Возможно кого-то, также как и меня, некоторые обстоятельства принуждают использовать Windows. И, возможно, также хочется несмотря на это видеть красивую, изящную консоль, например как в Ubuntu. Правда, на скорости работы, к сожалению, это не отобразится.

В итоге терминал для git у нас будет выглядеть примерно вот так:




Подготовка


Итак, нам понадобится:

Установку этих программ, я думаю, можно опустить. Предположим, все уже установлено и в работоспособном состоянии.

Первая настройка


Запускаем Console2. Внешний вид удручает, но мы это быстро поправим. Первым делом подключаем к нему bash из mingw. Для этого заходим: Edit — Settings — Shell и указываем путь к <GIT_HOME>\bin\bash.exe. Не забываем дописать --login -i. То есть в итоге там должно быть что-то вроде D:\dev\git\bin\bash.exe --login -i.

Если вдруг что-то пошло не так и Console2 перестал запускаться — рядом в директории лежит console.xml в котором можно отменить изменения.

Нажимаем OK, перезапускаем Console2. Видим привычный интерфейс mingw:



Улучшаем внешний вид


Лично меня не устраивает такой внешний вид командной строки. Так что, создаем пустой .bashrc файл и кладем его в свою USER_HOME директорию. Проблема в том, что Windows скорее всего не даст создать файл с точкой в начале, а без точки он подхватываться не будет. Поэтому, для создания такого файла используем notepad/notepad++ и сохраняем его без расширения. Или же можно взять уже готовый .bashrc из Ubuntu.

Непосредственно для кастомизации консоли есть замечательный туториал. Выбираем любой понравившийся шаблон и дописываем в .bashrc файл.

Например, вот так:
PS1='\[\033[01;32m\]your-name\[\033[01;34m\] \w\[\033[31m\]$(__git_ps1 "(%s)") \[\033[01;34m\]$\[\033[00m\] '

Туда же можно добавить такие плюшки как алиасы:
PS1='\[\033[01;32m\]your-name\[\033[01;34m\] \w\[\033[31m\]$(__git_ps1 "(%s)") \[\033[01;34m\]$\[\033[00m\] '
alias awesome="cd D:/dev/SomeProject"

Сохраняем. Перезапускаем Console2. Теперь уже лучше:



Ну и конечно же, как можно работать без полупрозрачного фона. Идем в настройки Console2, смотрим подменю Appearance — More… — Window transparency. Также обращаем внимания на возможность убрать лишнее меню, рамку и т.п. У меня сделано вот так:



Настраиваем шрифт, размер окна, и вуаля — мы имеем красивую минималистичную консоль, как на самом первом скриншоте. Можно еще добавить тонкую однопиксельную рамку, поставив галочку напротив Border. Так будет выглядеть еще чуточку лучше, не сливаясь с окружающим фоном.

Заключение


В Console2 есть еще масса настроек, таких как шорткаты или выбор вида курсора, но это уже выходит за рамки этой небольшой статьи. Надеюсь, такая кастомизация для кого-нибудь будет нова и придется по душе.

Хорошего настроения!
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 36

    +15
    Не дай бог пригодится статья в будущем (добавил в избранное)
      +3
      действительно же, не дай бог. (тоже добавил в избранное)
        +2
        Какие же вы счастливые (Пошёл настраивать)
          +2
          Да они просто на SVN сидят, вы не так поняли
      0
      В Windows любой файл можно переименовать через cmd для того что бы первым символом была точка.
        +3
        Жесткая сцена инцеста. Добавил в избранное.
          +3
          а чем хороша прозрачность? на фоне нижележащего текста на первом скриншоте читается не очень кмк.
          сам использую powershell+posh-git, вполне устраивает
            +3
            если бы была не тупая прозрачность, а как в Aero, с размытием нижелещего контента, то было бы легче. Но зачем нужна прозрачность вообще?
              0
              Ну лично для меня она несет больше декоративную ценность нежели практическую. Хотя нередко бывали случаи, когда прозрачная консоль удобно выручала. Например, консоль закрыла IDE в которой мне нужно быстро подсмотреть номер строки/имя класса/тег для лога etc.

              Сложностей при чтении тоже не возникает, видимо это очень индивидуально.

              В общем, как обычно, все глубоко субъективно.
                0
                А в ConEmu прозрачность можно менять "на лету".
              +1
              Лично мне Console2 не очень нравиться. В свое время я заменил её ConEmu.
                –5
                Вам не стыдно? Уже за 30, а всё ещё не запомнили как правильно писать
                  +1
                  Я с СonEmu перебрался на mintty по двум причинам: глюки с выделением мышкой и так и не удалось сменить окну иконку. У вас с этим проблем не наблюдается? Может я просто туплю и все решаемо?

                  пока писал решил сделать еще один подход и зарешал все кроме ввода кирилицы. Теперь у меня есть из чего выбирать, стандарный Git Bash, и git bash через mintty или ConEmu/ И ни в одном из них я не могу ввести кикрилический символ :/

                  Люди, выручайте! У кого нибудь кикрилица нормально в git bash вводится? Где и что крутить чтобы вводилась?

                    +2
                    Кикрилический символ и я ввести не смогу. А вообще — у ConEmu есть живой автор и он принимает багрепорты.

                    Зы. Проблем с пометкой мышки и вводом любых (в том числе китайско/японских/корейских/...) символов в ConEmu не наблюдал.
                      0
                      >А вообще — у ConEmu есть живой автор и он принимает багрепорты.
                      Угу. Пользуясь случаем передаю ему Вам свое спасибо. Но репортить по этому поводу не собирался и не буду. Не баги это, а кривизна рук моих. С FAR'ом-то я проблем не наблюдаю.

                      Проблема ввода кирилицы не у ConEmu, а у mingw'шного баша. Да и выделение мышкой с горем пополам настроил, хотя оно и не такое «плавное» как у mintty. Еще бы найти как перекрасить выделенную область, а то ярокий желтый слегка утомляет…

                      З.Ы.: Глюки с выделением мышью выражались в том что после выделения первого символа область выделения переставала менять свои размеры вслед за движением мышью. Приходилось продолжать с клавиатуры. Но пошаманив настройки это пролечилось.
                        0
                        > перекрасить выделенную область, а то ярокий желтый слегка утомляет…
                        Собственно вот…



                        Про баш даже интересно стало, полез сорцы msys'а копать…

                        А с глюками выделения мышкой я не понял. Вроде никаких спец-настроек быть не должно, типа все из-коробки.
                          +1
                          >Собственно вот…
                          Спасибо! я слепое угробище :)

                          >Про баш даже интересно стало, полез сорцы msys'а копать…
                          Вот не знаю чего там накручено, но баш от кигвина проблем не имеет, а тот который идет с msysgit имеет. Не исключено что это опять же лично мои проблемы, не то поставил, не там покрутил или там где надо не покрутил. Просто на win7 x64 искоробочный msysgit не дружит у меня с кирилицей.

                          >А с глюками выделения мышкой я не понял.
                          Ну, проблема как-то устранилась. То ли одним из обновлений, то ли я где в настройках потыкал. Дело в том, что у меня ConEmu уже 100 лет как к ФАРу прикручен, даже не уверен были ли это оригинальный СonEmu или уже ваша версия. И настройки я тоже лет 100 не трогал. Может это было наследие древних времен. А тут решил разрешить ему обновляться и глюк самоустранился в какой то момент. Т.е. до недавнего времени я его еще наблюдал, а буквально позавчера перестал, чем сильно радуюсь до сих пор.
                      +3
                      Чтобы кириллица нормально вводилась в MinGW bash делаем следующее:
                      В файлик ~/.inputrc добавляем следующие строчки

                      set output-meta on
                      set convert-meta off

                      отсюда
                        0
                        Добавил комментарий в избранное. А есть такой же рецепт, но для того, чтобы Home/End работали правильно, вместо того, чтобы выводить "~" в лучшем случае? Давно ищу, а тут такая-то возможность узнать раз и навсегда.
                          0
                          Не знаю, у меня MinGW bash (установленный по умолчанию) Home/End правильно отрабатывает. Прыгает в начало и конец строки ввода.
                            0
                            Тут это не столько к MinGW, сколько к настоящим линуксам. По работе приходится постоянно сидеть в шелле rhel4, а это неудобно.
                              0
                              Попробуйте забрать на линукс .inputrc из MinGW.
                          +1
                          Снимаю шляпу. Низкий поклон и куча благодарностей. Троекратное «ку». Был бы один из нас девочкой — расцеловал бы.
                      +1
                      Примерно те-же яйки, только посредством mintty.
                      image

                      Если бы не глюки с вводом русского всем был бы доволен, а так попробую еще и ваше решение. Но есть у меня подозрение что глюки с русским потому что я баш готовить не умею…

                      А еще можно через ConEmu его стартовать, у меня так раньше и было, но у ConEmu не так хорошо работает выделение мышкой. Поэтому пока mintty.
                        0
                        За шаблоны для промпта огромное спасибо!
                          0
                          Некоторое время назад написал для себя поднастройку bash для linux (mac).

                          github.com/agentsib/useful-scripts/blob/master/bash/bashrc

                          Выглядит так:


                          Root подсвечивается красным. Может кому пригодиться (как альтернатиный шаблон для Windows).
                            0
                            Спасибо. Добавил в избранное.
                              0
                              А я на powershell вот так вот сделал себе (в случае Elevated номер записи и дата будут красными)
                              Скрытый текст

                                0
                                Я всегда думал, что полупрозрачность включают перед тем, как сделать скриншот, а после этого отключают обратно. Не думал, что кто-то пользуется этим постоянно.
                                  0
                                  Кто бы мог подумать, из слов «красивый», «консоль» и «Windows» можно составить осмысленное предложение! Однозначно, в закладки.
                                    –2
                                    Windows + console = собака + 5-я лапа
                                      –1
                                      Только начинаю осваивать Git, как раз статья полезная. Еще вопрос немного не в тему. Если работать с репозиторием в команде и два пользователя делают практически одновременно пуши в общий репозиторий с конфликтными изменениями какого либо файла, то как эти изменения объединятся, по какой схеме? (Например в файле index в одном пуше 110 строка изменена на $a=$b+$c а во втором эта же строка изменена на $a=$b+$x).
                                        0
                                        По схеме — «Конфликт! Разбирайтесь между собой сами!»
                                          0
                                          Есть очень хорошая книга, которую стоит почитать.
                                            0
                                            Я уже нашел туториалы, а книгу конечно хочется почитать, но к сожалению времени нет.
                                              0
                                              книгу конечно хочется почитать, но к сожалению времени нет
                                              Это называется «нет времени заточить пилу».

                                        Only users with full accounts can post comments. Log in, please.