Делаем Linux терминал красивым и удобным
Добавляем функциональность
Командная оболочка
Большинство дистрибутивов поставляется со встроенным Bash. Используя дополнения можно сделать из него все что захотите, но гораздо проще этого добиться с Zsh. Почему?
Настройка Zsh
Для начала, установим Zsh (если он уже установлен, например, как в Manjaro, можете пропустить этот пункт):
Когда вам предложат установить Zsh как оболочка по-умолчанию, нажмите Y , чтоб подтвердить.
Oh-My-Zsh — популярный и активно развивающийся фреймворк Zsh, который позволяет гибко настроить оболочку терминала. Установим его:
Подсветка синтаксиса. Гораздо проще ориентироваться по содержимому терминала, когда разные части команд подсвечены разными цветами. Например, директории будут подчеркиваться, а команды — выделяться цветом, отличным от обычного текста. Установим плагин zsh-syntax-highlighting :
Чтоб плагин заработал, его надо подключить.
/.zshrc меняем строку с plugins= :
Если такой строки нет — добавьте её.
Готово! Получаем удобный и функциональный терминал. Теперь сделаем его визуально приятным.
Настраиваем внешний вид
Скачиваем и добавляем в систему шрифт JetBrains Mono Nerd (c иконками):
Выберитеодин из списка, в папке шрифт/complete выберите шрифт без «Windows Compatible», с окончанием «Mono».
Подключаем шрифт и тему.
Если в файле эти строки уже есть — замените их.
Цвета. Важная часть оформления терминала — цветовая схема. Я перебрал много разных схем, редактировал их, остановился на Monokai Dark. Не режет глаза, но при этом приятная и яркая. Список цветов:
В разных терминалах по-разному меняется цветовая схема (обычно, это делается через настройки терминала), но порядок цветов везде одинаковый. Вы можете импортировать этот шаблон в формате Termite и экспортировать его для вашего терминала через terminal.sexy
Запускаем конфигурацию темы: p10k configure .
Настройте тему, выбирая варианты отображения, которые вам больше нравятся.
Финальный штрих — меняем конфиг темы и заменяем встроенные цвета.
Если в файле эти строки уже есть — замените их. Коды цветов можно получить командой
- Отображение только текущей директории:
Источник
Какой ваш любимый шрифт для кода и терминала?
Какой шрифт используете в консоли и в редакторах кода? Как вы дошли до его использования, и чем он так хорош?
Я лично перепробовал много mono-шрифтов, и для меня они как-то все на одно лицо, не принципиально. В любом текстовом редакторе использую то что настроено по умолчанию. Иногда попадаются темы, в которых народ подолгу насилует себе мозг бесконечными поисками «истинного шрифта», но какой смысл их менять, я так и не понял. Какая с этого практическая польза? Консольный шрифт в Ubuntu полностью устраивает.
Terminus, ибо самый удобочитаемый.
Terminus, потому что у меня был 14″ с 1366×768, для которого terminus являлся единственным читаемым (для меня) шрифтом.
Hack, потому что он очень популярный и был из коробки в иде от жетбрейнс.
SF Mono, потому что крестьянин тоже хочет быть боярином (и иметь диагонально перечеркнутый 0).
Jetbrains Mono, потому что новый, а я фронтэндер
везде использую consolas и в редакторе и в консоли и в браузере.
В терминале terminus, когда-то баловался с ibm 3270
terminus в самый раз.
PT Mono Regular
Очень нравится.
Пытался много раз использовать другие шрифты.
Всё-равно возвращаюсь на него.
Терминус битмапный – а это отстой.
Проверил, в моей консоли по умолчанию стоит тоже Hack, а вот Terminus в списке доступных нет, думаю отдельно качать не буду.
Что такое «битмапный»?
В гугле забанили?
Цифровой шрифт, каждый знак которого описан в виде рядов растровых точек (пикселов [наименьший элемент визуализации, точка на мониторе]), последовательно заполняющих его контур. Знак в растровом формате легко воспроизводится с помощью любого дискретного выводного устройства, но трудность состоит в изменении масштаба изображения, поэтому сейчас растровые шрифты почти полностью заменены векторными [цифровые масштабируемые шрифты]. В процессе вывода векторное изображение таких шрифтов программным путем преобразуется в растровое [двумерный массив пикселей].
Terminus. Хорош тем, что растровый, а также для меня лучше всех читаемый.
DejaVu Sans Mono. Потому что он не делает моим глазам больно.
Это синоним «вырвиглазное убожище».
На Windows — Consolas, на Linux — DejaVu Sans Mono. Потому что идут по дефолту, и адекватно выглядят, хотя Consolas конечно смотрится лучше как по мне.
DejaVu Sans Mono [2]
Странный выбор. Он сделан для документов, а не для кода.
shkolnik_2019 Макском, все знают что это ты.
Cousine Regular, хорош тем, что свободный, испортить его не смогла ни одна программа + используется довольно часто.
Дошёл, просто перебрав все моноширинные шрифты в системе(предварительно утащив шрифты из Windows для наглядности). Как-то так.
Моноширинный для документов а не для кода? У меня для терминала. Великолепно выглядит.
Да, для документов. Об этом написано прямо на его странице. Бланки всякие. Чем отличается документ от кода: документ должен читаться сплошняком, т.е. отдельные символы не должны слишком сильно оттягивать внимание. Отсюда, например, маленькая и незаметная точка, запятая, двоеточие. Но если нравится — никто не против )) В терминале может быть и не так заметно.
Ты сейчас точно именно про моноширинный пэтэ?
Гарнитура PT Mono предназначена в первую очередь для служебных надобностей — формуляров, таблиц, анкет, бланков и т.п.
Я, вообще-то, пользуюсь Виндусом, и там у меня Consolas. Можешь сравнить как выглядит точка в Consolas и в PT Mono, мне лень делать и заливать скриншот. В Consolas она жирная и заметная, в PT Mono еле заметная, как в книжных шрифтах. Другие «программисткие» шрифты, в большинстве своём, следуют тому же подходу, что и Consolas.
pt-sans
pt-serif
Речь вообще-то была про PT Mono Regular
Я, вообще-то, пользуюсь Виндусом, и там у меня Consolas
Можешь сравнить как выглядит точка в Consolas и в PT Mono
А то я не знаю. Уже 20 лет по много часов в терминал смотрю.
Вот прямо сейчас сижу и смотрю на неё в терминале. Ещё на запятую, двоеточие и точку с запятой. Ты мне сейчас с винды пытаешься рассказать как это выглядит в консоли линукса?
Я ничуть не против того, что пт моно хорош для бланков. И для заполнения форм где нужно точно попасть в размер.
Но я его использую в терминале. Что непонятного? К чему твои козюльки про «програмистские шрифты»? И это не шериф и не санс, а моно. И в терминале он выглядит великолепно.
Речь вообще-то была про PT Mono Regular
Гарнитура PT Mono предназначена в первую очередь для служебных надобностей — формуляров, таблиц, анкет, бланков и т.п.
Я думаю продолжать с тобой дискуссию смысла нет.
Liberation Mono Regular 9pt.
Пользовался terminus-ом, его в pango сломали. Выбрал этот по причинам:
- хорошо читается
- компактный и в меру «толстенький» (межстрочный интервал в терминале и ширина символа сама по себе)
- есть в базовой поставке
Вот ЧСХ почти все популярные здесь (losevka, Inconsolata, Consolas и т.д.) не понравились: или межстрочный большой (может это заскоки gnome-terminal, но мне всё равно), то слишком тонкие и я их плохо вижу, то просто эталонное ШГ (losevka как по мне).
Гарнитура PT Mono предназначена в первую очередь для служебных надобностей — формуляров, таблиц, анкет, бланков и т.п.
А я что написал?
пт моно хорош для бланков. И для заполнения форм где нужно точно попасть в размер.
И это сразу приводит к запрету на применение шрифта в терминале?
Я думаю продолжать с тобой дискуссию смысла нет.
Ты мне хочешь что-то доказать? Основываясь на том, как шрифты выглядят в винде?
Ты лучше залогинься и заигнорируй меня.
И это не шериф и не санс, а моно
Но наличие засечек ортогонально моноширинности. Я почему не люблю всякие Courier New, что они с засечками, не переношу засечек в терминале, в книгах/статьях куда ни шло.
А ты написал вот это:
pt-sans pt-serif Речь вообще-то была про PT Mono Regular
То есть, сначала я тебе привёл цитату с упоминанием PT Mono, но ты с «умным видом» зачем-то начал ехидничать (или шланговать?):
речь вообще-то была про PT Mono
Ты способен осознать тот факт, что PT Mono == PT Mono?
Ты лучше залогинься и заигнорируй меня.
Хаха. Смотри, дорогой мой Имуль. Люди о таких вещах судят по себе. С моей точки зрения, писать анонимом, имея аккаунт — полный зашквар. Но, видимо, не для тебя ))
Знать бы ещё, что за «програмистские шрифты». Сколько слышу о них, не представляю, о чём речь и чем они должны отличаться от непрограммистских.
Ну узнавай, кто тебе мешает.
Сколько слышу о них, не представляю, о чём речь и чем они должны отличаться от непрограммистских.
В программистских шрифтах начертание символов делают таким, чтобы букву O трудно было спутать с цифрой 0 (ноль делают или перечёркнутым, или с точкой внутри), чтобы буква l отличалась от буквы I и цифры 1 и символа |.
В непрограммистском шрифте эти различия не так важны, и начертания могут быть очень похожи. Например, есть шрифт (не помню как называется), его часто пользуют для рисования субтитров, в котором эти начертание l, I и 1 специально сделаны одинаковыми: субтитры часто делают распознаванием растровых субтитров, и в них много ошибок, а если l, I и 1 выглядят одинаково, то эти ошибки на глаз незаметны.
Другой пример — звёздочка: *. В программистком шрифте этот символ часто рисуют на одном уровне с + и -, так как звёздочкой обозначают умножение. В непрограммистском шрифте звёздочку могут поднять выше.
Можно привести пример проще. Точка, запятая, двоеточие. В текстовых шрифтах они крохотные, чтобы не отвлекали на себя внимания. В программерских шрифтах они конские, жирные. Потому что для программера пунктуация ничуть не менее важна, чем сами буквы. Для обычных документов это не так. Пунктуация там делают визуально приглушённой, т.е. чтобы не бросалась в глаза.
В программистских шрифтах начертание символов делают таким, чтобы букву O трудно было спутать с цифрой 0 (ноль делают или перечёркнутым, или с точкой внутри), чтобы буква l отличалась от буквы I и цифры 1 и символа |.
У таких шрифтов было какое-то другое название. Какое — не помню, но эти различия всегда были ключевыми.
Любимый не знаю, но сейчас везде использую Fira Code Medium, из-за того, что у него есть Medium начертание и он выглядит толще, чем другие, но еще не настолько толсто, как Bold. Мне комфортней его читать. Ну и он весьма харизматичный.
Какой шрифт используете в консоли и в редакторах кода?
В редакторе — Source Code Pro (исходник), Iosevka (вывод компилятора и панель со списками файлов и символов), в консоли — Terminus, в эмуляторе терминала — DejaVu Sans Mono.
Как вы дошли до его использования, и чем он так хорош?
Iosevka — «компактный» шрифт, то есть буквы узкие, но при этом читаемые. Отлично подходит для вывода всякой хрени типа логов (включая выхлоп компилятора) с бесконечно длинными строками которые не влезают ни в одно окно и нужно экономить место чтобы увидеть как можно больше. (Iosevka, в принципе, годится и для исходного кода, но в исходниках строки обычно не длинные, поэтому я использую шрифт с более широкими буквами.)
Iosevka ещё хорош тем, что он есть в исходниках, и его можно подкрутить при компиляции по своему вкусу. Например, поднять или опустить звёздочку, подчерк, выбрать начертание фигурных скобок из нескольких вариантов или ту же звёздочку сделать с шестью или пятью лучами и т. д.
В консоли можно использовать только растровые шрифты, поэтому Terminus там в жилу. Поскольку Terminus растровый, то в других местах (например, в эмуляторе терминала) он нафиг не нужен.
В остальном — дело вкуса. Ставишь шрифт, живёшь с ним некоторое время, не нравится — меняешь.
Какое — не помню, но эти различия всегда были ключевыми.
Эти различия были ключевыми в «программистских» шрифтах. В не-«программистских» эти различия некритичны.
Источник