ConEmu, czyli ulepsz sobie konsolę
Od razu ostrzegam - chodzi o konsolę tekstową, znaną również jako terminal, nie o konsolę do gier ;‑)
Konsola tekstowa jest używana dość często przeze mnie i jest dość wygodna w pewnych, raczej szczególnych, zastosowaniach. Nie jestem jednym z tych, którzy siedzą w czarnych okienkach na co dzień, ale siedzę na tyle często, aby mi było potrzebne coś wygodnego i ułatwiającego pracę. Hej, w końcu jestem power userem!
Gdy zobaczyłem ConEmu po raz pierwszy to machnąłem ręką mówiąc zwyczajne "meh" i wróciłem do swoich zajęć. Po pewnym czasie przypomniałem sobie o tym projekcie, pobrałem, uruchomiłem i zacząłem konfigurować na swoją modłę. I się zakochałem.
ConEmu jest emulatorem konsoli Windows z kartami. To jest proste wytłumaczenie. Ale siłą ConEmu jest możliwość jego dostosowania do własnych potrzeb w bardzo rozbudowany sposób. Zwłaszcza okienko skrótów klawiaturowych przyprawia o ból głowy.
Nie jest to niestety powłoka, wykorzystuje standardowe powłoki Windows jak cmd.exe i PowerShell, więc nie pozwala np. na zaawansowane dopełnianie klawiszem Tab nazw plików jak w bashu czy zsh, bo i cmd.exe tego nie potrafi. Ale opakowuje cmd.exe... i inne aplikacje. Pozwala też na uruchomienie jednej lub wielu kart na podwyższonych uprawnieniach, wywołując prawidłowy dialog UAC.
Pozwala na używanie kolorów, dostosowanie fontów wyświetlanych, schematy kolorów, zaznaczanie blokowe... i wiele innych rzeczy. Posiada wersję 32 i 64‑bitową, umożliwia uruchamianie zdefiniowanych skryptów ("zadań") przy otwieraniu nowej karty. Pozwala także na bajerancki "zjazd" z góry ("styl Quake") w stylu gry Quake czy podobnych, np. po naciśnięciu klawisza tyldy, półprzezroczystość okna i tym podobne. Setki możliwych konfiguracji da się zapisywać w plikach XML lub Rejestrze, obsługuje wiele konfiguracji naraz (przez argumenty wiersza poleceń)...
Do tego dochodzi integracja z Eksploratorem (jeden klik i mamy opcję w menu podręcznym do uruchamiania konsoli tutaj) lub nawet przejęcie funkcji domyślnego terminala dla aplikacji konsolowych. Plus obsługa przycisków na Pasku Zadań Windows 7 oraz Jump List... włączając w to obsługę pasków postępu dla niektórych aplikacji konsolowych, np. wgeta (co jest świetnym pomysłem).
Oryginalnie projekt był nastawiony na integrację z FAR‑em, menedżerem plików autorstwa twórców RAR‑a, więc ma do niego wtyczki, integrację, pozwala na przeglądanie plików graficznych... niestety, nie używam FAR‑a ;‑)
Dość fajne są wspomniane zadania - pozwalają np. uruchamiać konsolę odpowiednio skonfigurowaną, a takich specyficznych konfiguracji to niektórzy mają wiele - i oczywiście uruchamia to w kartach.
Po kilkunastu minutach konfiguracji pewnej nocy dorobiłem się pasującej mi opcji - konsola w stylu Quake o pasującej wielkości fontów, z pasującymi mi skrótami, nieco podobnymi do Firefoksa (CTRL+T, CTRL+W, CTRL+1,2,3... i tak dalej), półprzezroczystością, zadaniami... a potem się okazało ile to jeszcze jest ciekawych rzeczy - na przykład da się zrobić, aby schemat kolorów dla konkretnego wiersza poleceń był inny - np. PowerShell się wyraźnie wizualnie odróżnia od cmd.exe.
Wspomniałem jeszcze, że da się "opakowywać" niektóre inne aplikacje niż tylko cmd.exe czy PowerShella. Absolutnym hitem tutaj jest PuTTY lub jego klony, ja konkretnie używam KiTTY (o którym też pewnie coś warto będzie napisać w przyszłości). Odpalenie opcji "Nowa konsola" oraz podanie tam kitty.exe -load <nazwa sesji> otwiera nową kartę wraz z odpowiednio skonfigurowanym zdalnym terminalem, w moim przypadku np. automatycznie uwierzytelnionym poprzez klucz prywatny. Wygoda! Nawiasem mówiąc, da się również odpalić np. Notatnika w kolejnej karcie ConEmu, ale akurat sensu tego rozwiązania nie widzę. Jeszcze.
Co warto odwiedzić? Wiki ConEmu, kolekcję zrzutów ekranu, no i stronę z wersją do pobrania (aktualna wersja jest sprzed 4 dni).
O czym jeszcze warto wspomnieć? To otwarte oprogramowanie na licencji BSD.