Как стать автором
Обновить

Комментарии 54

xterm-256color

Зачем? Alacritty есть в terminfo в современных дистрибутивах. TERM=alacritty / alacritty-direct. Установка TERM в xterm-256color в Alacritty чревата неработой настроек цветовой схемы Alacritty и возможно каких-то Esc-последовательностей, специфичных для Alacritty.

Надо будет попробовать. Не работали цвета и символы некоторые не отображались, нашел в интернете такое решение — заработало

Лучше wezterm, пересел на него как раз с alacritty после того, как мэйнтейнер наотрез отказался добавлять такие базовые вещи как поддержка мигающего текста because of performance

Хорошо быть программистом:) Когда занимаешься администрированием, нарваться на на машинку, что ничего не знает про Alacritty, удаётся часто. Так что для меня xterm-256color - это норма жизни, а вот с проблемами из-за этого сталкиваться как раз не приходилось.

А можно было назвать статью "Как меня покусал тимлид"

НЛО прилетело и опубликовало эту надпись здесь

А он не настаивал. Показал , а мне и понравилось

А отладку тоже в консоли делаете как труЪ-линуксоид?

ну на линуксе можно найти визуальный отладчик

а так)

Скрытый текст

Естественно )

Благо гдб имеет туи версию

gbd, емнип, еще и в nvim-dap(-ui) интегрируется

neoclide/coc.nvim зачем? В чем его приемущество перед lsp сервером?
Не совсем понятно зачем нужен tmux. Что не так с обычными вкладками в эмуляторе терминала? Лично мое мнение tmux нужен либо при подключение к серверу либо если приходится работать под windows.
Ну и третий вопрос: А чем стрелки не угодили?

Ну и третий вопрос: А чем стрелки не угодили?

Всё по тем же причинам, чем {idename} не угодило - эргономика.

Не совсем понятно зачем нужен tmux. Что не так с обычными вкладками в эмуляторе терминала? Лично мое мнение tmux нужен либо при подключение к серверу либо если приходится работать под windows.

tmux много плюсов на самом деле имеет. Можно хранить большую сессию в виме (да, можно делать это плагинами), можно поставить какой-нибудь долгий шелл-скрипт и детачнуться от него.

coc.nvim зачем? В чем его приемущество перед lsp сервером?

Пользуюсь coc.nvim потому, что это клиент для lsp-серверов.

Не совсем понятно зачем нужен tmux. Что не так с обычными вкладками в эмуляторе терминала?

Они не переживают перезапуск иксов, а tmux — переживает. Плюс, это двухуровневая группировка: например, у меня есть вкладка с tmux с одним проектом, другая вкладка с tmux с другим проектом, и так далее. И очень мало эмуляторов терминала умеют в шорткаты вроде «перейди к третьей вкладке», а Ctrl-A 3 — просто работает.

А чем стрелки не угодили?

Далеко руку уносить надо.

я пользуюсь гном шелл жму плюсик для вкладок), и клангдом в емаксе, coc.nvim вроде от js, на винде я бы наверно вообще не выбирал бы ничего пользовался бы визуалкой, а так просто пользуюсь таким сетапом )

coc.nvim - проверенное решение со своей экосистемой, большим количеством внутренних плагинов под разные кейсы — просто удобно и без заморочек

В alacritty нет привычных вкладок :) так что tmux единственный вариант их туда добавить. Да и очень удобно создавать разные сессии под разные задачи - одна сессия рабочая со своими нужными вкладками, вторая под пет проект — и от них можно детачнуться и заниматься своим делами и всегда вернуться, даже позже закрытия самого терминала

А стрелки — идеологически — если vim, то добро пожаловать в hjkl, ну и руки далеко от основных клавиш не уносишь

а встроенный GnomeShell мне не очень нравился - странный дизайн, странная настройка доступная через гуи
И тут на работе я узнаю про утилиту tmux

Для начала:
i3wm is a tiling window manager, completely written from scratch.
Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11.

Да, но опцию с красивой системой оставить хотелось. Полностью в мир консоли уходить цели не было

Ну тогда:
Tiling Shell extension. На github
или
Terminator is a terminal emulator which supports tabs and multiple resizable terminal panels in one window. It is based on GNOME Terminal.
wiki.archlinux - Terminator
Terminator - Official site
GitHub

Ну я же не говорил, что мой набор — единственно верный. Я попробовал работать таким и мне понравилось. Да и табов и вкладок от терминального эмулятора не жду, tmux дает больше чем просто вкладки и отказываться от него - цели нет

Спасибо за материал, но есть ощущение, что статья — это просто набор советов из разных мест, без личного опыта. Может, планируется вторая часть с более практической стороной и реальными кейсами? Было бы интересно.

Проба пера, конфигурации и сам набор утилит получился по мере пользования. Мыслей о второй части пока нет, НО если появится что-то - с огромным удовольствием поделюсь! Если есть более конкретные предложения - буду только рад

Раньше тоже пользовался neoclide/coc.nvim но он тянет за собой npm (это не всегда удобно), можно вместо него попробовать другие реализации lsp, к примеру:
'neovim/nvim-lspconfig'
'hrsh7th/nvim-cmp'
'hrsh7th/cmp-nvim-lsp'
'hrsh7th/cmp-buffer'
'hrsh7th/cmp-path'
'hrsh7th/cmp-cmdline'

Возможно, но пока кейса, где не получается поставить npm не было, а большое количество удобных плагинов для разных языков и не только - штука приятная

Все 3 пункта перечисленные в конце статьи с лихвой перекрывает редактор ed :)

Да. Но до такого надо дорасти, ну и можно сразу PDP11 доставать с пыльного склада :)

консоль - это отлично, но использовать только cli и tui интерфейсы все-таки не совсем продуктивно. Если бы что-то было однозначно лучше - другого бы просто не существовало в силу естественности выбора первого. Как любитель терминала, искренне рад, что автор пришел к тому, что многие моменты рабочей деятельности проще решать в терминале, но надеюсь, он не будет зацикливаться только на нем. Лично я чередую использование инструментов типа полноценных IDE с GUI интерфейсом и nvim с преднастроенной конфигурацией AstroVim и некоторомыми своми плагинами - это дает возможность не застревать (твердеть в сових принципах и убеждениях, что, я считаю, не совсем правильное решение в стремительно меняющимся мире технологий), что мотивирует лично меня на производство кода при помощи этих подходов и технологий.
Ну, и в завершение хочу порекомендовать автору, GUI редактор кода, который работает быстрее nvim, имя которому Zed - куча плагинов, поддержка lsp и т.д. Не знаю, насколько он подойдет для c++ (не трогал его со времен студенчества), но для Rust - прекрасно!

Если бы что-то было однозначно лучше - другого бы просто не существовало в силу естественности выбора первого.

Это нелогично. По закону 20/80, всегда есть малограмотное большинство и продукты, которые его обслуживают.

мне кажется, закон 80/20 или "правило Парето" несколько о другом ;)

Я пытался выяснить чьё это правило и потерпел неудачу - его приписывают всем подряд. Как побочный эффект - оказалось, что оно обо всём.

Само правило наводит на антинаучные размышления. Например, 20 - это похоже на принадлежность к одному из 5 первоэлементов, разница в эффективности в 16 раз - похожа на 2-кратное превосходство в каждой из 4-х стихий, а само 16 хорошо стыкуется как с наблюдаемым уровнем естественного неравенства, так и, по порядку величины, с тем, что профессор Савельев пишет и рассказывает о мозге.

Мой путь программиста начался не так давно и пока переход в терминал дал много полезного. Понимаю, что некоторые вещи возможно в гуи будут проще, но никто не мешает вернуться позже с новыми кейсами и опытом )

Главное, чтобы вы не заменяли профессионализм на ритуалы. Все эти приставки ТруЪ - это фанатизм в худшем его проявлении. Все эти ТруЪ стремятся поделить мир на белое и чёрное, на труъ и не труъ. Но не бывает хороших или плохих инструментов, бывают подходящие или неподходящие.

А я почему-то потихоньку на Emacs (Doom) переползаю с VsCode, использую Helix вместо Vim/NVim. С Deepseek вполне себе (не без труда, конечно, учитывая мои познания Elisp около 5%) нужные функции делаю на Elisp, и как будто можно реализовать любые хотелки. ) А так Vim/NVim/Zed/Helix вполне отличные инструменты.

helix печалит своим комьюнити (точнее его отсутствием), кажется из-за этого разработчики и не торопятся добавлять поддержку плагинов

классный опыт, мне помогает всё больше годболт, для посмотреть попить кофе, нетбинс, ниже емакс-ванила и его я перестал трогать вообще, и еще ниже если надо сконцентрироваться и чтоб без овервыделения это нотпад(старый gedit с модулями там есть консоль под запуск и бар для просмотра файлов тоже)) оч помогает почемуто. я терминалом почти не пользуюсь теперь только если нужно, всякие посмотреть почитать уже всё нет 100%), единственное если придётся дебажить буду делать в терминале )

Классно, если есть навык работать в консоли. Так как я фронтендер, то приходится мышкой тыкать в экран, чтобы все проверять и перепроверять по 100 раз, поэтому 100% vim головного мозга не смогу получить. Но в один момент заметил, что VS Code делает кучу лишних вещей при переходе между ветками git. Мне это дело не понравилось, начал пользоваться консолью для гита. А чуть позже открыл для себя мир git alias и теперь популярные команды пишу еще короче. Теперь вместо `git checkout master` пишу `git cm`.

Вообще, очень походит на то, что вы делаете гуй в консоли, причём привязываетесь к конкретному эмулятору терминала, иначе пропадёт значительная часть фишек. Примерно то же самое, как некоторые не могут программировать вне конкретной IDE.

Если вас устраивает — хорошо. Если стало лучше — вообще отлично. Но всё ж рекомендую чуть меньше фанатизма.

Я не против консоли как таковой, я против крайностей, если что. "Работаем только в гуе" и "консоль наше всё" — примерно одно и то же по фанатизму, на мой взгляд. Стоит сочетать оба подхода. Как минимум, стоит попробовать гуёвый вим и гуёвый емакс (возможно, он понравится больше) — будут примерно те же возможности, но, как минимум, в емакс, чуть другие и побольше (не зря говорят про ОС emacs, но редактор там достаточно неплох и если не устраивает - есть viper)

Фишки не пропадут, кроме пары алиасов. А вот консоль - штука универсальная. Просто на данный момент одно открытое окно терминала с включенной сессиией tmux заменяет сразу несколько вещей - окно редактора, окно терминала для запуска, окно терминала под разное

Понимаю, что может выглядеть фанатизмом - но я не против гуи, мне пока по душе жизнь в консоли

уже есть браузер на лиспе и целое готовое окружение, я смотрел как-то обзор по этому, поэтому елисп может как научить ну типо изучая как переделать всё в емаксе понимаем, когда действительно это благотворно и нужно(потомучто тратится время), кстати ява не далеко ушла со свингом от елиспа на самом деле, там так же легко на свинге делать тоже самое, корни емакса как никак вроде)

вообще лисп крутой язык, репл у него самый плодотворный и модный с кошками в псевдограффике на заставке )- очень еффективный, в емаксе прям чувствуешь себя как в годболте когда пишешь на лиспе

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

java решение сьедает кучу памяти, а в случае с автокомплитом очень много порой, когда пользовался андроид студией это прям чувствуется, но можно тоже самое делать через консоль не испытывая это, открыть нетбинс тотже теже 500 мегабайт, у меня так же вышло когда разбирался как сделать редактор текста

3000(память может подскочить под 300 ну точно видел) строк, и хочешь не хочешь консоль возьмёт ресурсы, надо же не только текст править, а показывать консоль, соотв проводить процессы и рисовать текст

зато так легко как на java я еще нигде не делал текстовый редактор полностью с эмуляцией оболочки ) при желании на свинге можно эмулировать окружение и посмотреть сколько памяти займёт)

хотя чо я жалусь надо только прикрутить lsp

Скрытый текст

225 мегабайт даже рад)

у меня приложение емулирует частично окружение проекта ) да не джит брейнс ) но с чего-то надо начинать)

например тут учтены нюансы, емакс ставит скобочки не удобно, нотпад каким я пользуюсь автоматически не открывает путь файла которого я открыл, и не везде есть форматинх), кроме эпик приложений)

ну и супер удобный доступ к прыжку и поиску по-сути нарратив текстового редактора и олдскульный список файлов )

Тут надо для начало разделять nvim, vim и vi. это разные программы с разными возможностями. И например я пользуюсь всеми тремя. nvim для разработки и написания текстов, vim для редактирования конфигов и настройки системы. vi для роутеров и всего такого.
Во вторых сравнение с акробатами не сильно корректно. Скорее подойдёт сравнение с токарными станками. Где обычный текстовый редактор это обычный школьный станок, а вим это станок профессиональный с программным управлением. Вроде на про станке всё тоже самое, но не удобно. Вот и возникает вопрос, а для чего он нужен, этот про станок. И сразу, в попытке поразить вопрошающего, показывают: А вот если извернуться таким необычным способом можно сделать такую не понятную и не нужную фигню. А показывать то надо простое, полезное и часто используемое. Рассмотрим например редактирование конфигов. Мне от вим надо: автодополнение путей и слов, что помогает избежать опечаток; скрипты и шаблонны, так как конфиг иногда нужно переписать определенным образом; подсветка синтаксиса что бы взгляд цеплялся за нужные места.

В nvim я часто использую команду «.» при рефакторенге скриптов. Например мне надо изменить названия ряда переменных, добавив приставку. Работу с блоками я использую когда оформляю табличку в markdown или typst.

Текстом сложно передать, тут бы лучше показывать на конкретных примерах.

Лично вам — возможно и не зачем. Несколько людей, с кем я делился, пробовали и не смогли перейти, кого не отпускает родная ide , уж слишком сильно он привык к ее удобству, кто-то просто не может терпеть не гуи приложения. Я рассказал про свой путь, поделился мыслями, результатами. А показывать цирковое представление — важное умение, если ты циркач, но если ты бухгалтер, то конечно не за чем. Каждому свое — меня наоборот концентрирует на работе отсутствие визуализации всего и вся в моем интерфейсе

кого не отпускает родная ide , уж слишком сильно он привык к ее удобству

Вот именно - если ты привык к какому-то удобству, то нужны какие-то веские причины что-бы от такого удобства отвыкать. Расход памяти и "круто выгляжу, как хакер из кино" не для всех является достаточно веской причиной, памяти в современных компьютерах достаточно много, а закос под хакера это вовсе такое..

Что касается концентрации - я выключаю все оповещения во всех чатах, кроме того когда меня напрямую тегают, и работаю в Идее, полноэкранном режиме. Ничего не отвлекает, и при этом я не теряю всех плюсов современной IDE. Можно, конечно, насчет скорости печати поспорить, м.б. она в vi подобных редакторах и повыше, но лично меня скорость печати не тормозит, обычно больше времени я на анализ кода трачу и на разработку алгоритма, чем на забивание мегабайт кода. Опять же вроде в той-же Идее при желании можно и использовать режим vi, сам не пробовал но он вроде бы там есть.

Насчет того что каждому свое - я и не спорил, это очевидно.

Если вам нравится tmux, то обязательно попробуйте и zellij. А ещё мне кажется, что такими темпами вы скоро дойдете до тайлинговых оконных менеджеров, вроде Sway / Hyprland. Да и Arch Linux стоит попробовать)

Думал, но как-то не знаю )

Со своего опыта может кому на заметку:

  • не использую CoC и вот почему

  • для плагинов использую lazy.nvim

  • начинать знакомство советую с kickstart.nvim

  • для освоения нового иногда можно посмативать Primeagen

Спасибо, изучу)

В IDEшках сижу в JetBrainsʼовских, но некоторые вещи удобнее делать через консоль (классический vim; neo варианты не оценил пока). Перекос на 100% что в одну, что в другую сторону - это нехорошо.

Вот Gitʼом в IDEшках так и не научился, не просто "закоммитить всё и в сообщении сказать up", а более сложные вещи.

Слово "боль" в заголовке статьи совершенно неуместно, нет там никакой боли. Просто другие методы и привычки, которые лучше для своего случая.

Ну тут боль — кликбейт, но лишь от части. Люди не особо пользующиеся консолью, от одного vim получат такую порцию дискомфорта :)

Как происходит автодополнение, через clangd? Я вот такой плагин знаю https://vimawesome.com/plugin/vim-clangd

Ещё хочется хочется в реалтайм видеть сообщения от Clang-Tidy. Говорят надо использовать плагин ALE (Asynchronous Lint Engine).

В смысле «как происходит»?

Плагин запускает инстанс clangD, который есть в системе, передает ему аргументы из файла coc-settings.json и при наборе кола появляется стандартное меню выбора, которые через тот же файлик настроек можно кастомизмровать

А с clang-tidy на работал, или просто не осознавал, что это он

Тут не могу ничего сказать )

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации