В первую очередь мак хоть и из юникс семь, но часть инструментов, например tar, из коробки BSD'шные, на линуксах они GNU'шные. Это может добавить подводных комней при написании кросплатформленных скритов
То есть 99% API совместимые, но когда вы наступите на этот 1% дебагинг может быть не очевидным
Основным требованием к приложениям является что их можно поставить пакетным менеджером и у них есть конфигурационный файл, в идеале XDG friendly
На маке нельзя заменить родной оконный менеджер 😔
Но есть большое кол-во утили имулирующих нормальные менеджеры
Несколько лет сидел на spectacle, он позволяет раскидать окна шорткатами, но они всё равно могут накладываться друг на друга
Пользуюсь им меньше года, но радости полные штаны. Даже не смотря на то что он работает поверх macos accessibility API (есть заметная визуальная задержка), это большой шаг в сторону желаемого результата
Так же есть такое популярное решение, но до него еще не дошли руки
с переездом на big sur что то из этого, конечно же🙂, поломалось, но скилл полезный, особенно учитывая что не всё можно настроить через GUI'ёвые настройки макос
Если вам интересно как называется интересующая настройка из GUI, что бы задать её в терминале, можно сравнить настройки до и после
Теперь про шорткаты⌨️
Для настройки кастомных шорткатов на макос есть карабинер, можно поставить через brew и хранить настройки в json'инене
Это не только сделает жизнь удобнее, но так же повысит вас до "a polite internet citizen"
Пару версий назад в макос появилась родная настройка на то что бы перемапить капс в одну из других 5ти клавишь, но так оказалось удобнее
И да, я в курсе, что от капса не обязательно совсем избавляться и через карабинер можно тоглить капс например одновременным нажатием на оба шифта на клавиатуре
Второе правило проще, набор шорткатов на часто испольуемые приложения
fn + a - открыть alacritty
fn + y - открыть яндекс браузер
fn + t - открыть телеграм и тд
До последнего сидел на iterm2 и в целом всё устраивало, миллион настроек, играйся сколько хочешь, даже лигатуры работали. Только играть с этим можно только через GUI. Синкать их между машинками не занимательно
На сегодня если вы хотите себе терминал на макос, который не iterm2 и есть поддержка XDG_CONFIG_HOME и еще хотелось бы что бы он был кроссплатформленный(когда нибудь я съеду с макос), то у вас очень простой выбор
kitty vs alacritty
Оба варианта крутые с упрямыми визионеры ментейнерами, респект 💪
Kitty - всё как положено, даже поддержка лигатур есть
Но на макос есть проблема с вертикальной отцентровкой некоторых шрифтов, и туда попал мой любимый шрифт firacode (виртуальный респект респект @nikitonsky)
У Alacritty такой проблемы я не встретил, невероятно прлавный скролл😍 и простенький конфиг на ямле 👌
Относительно недавно отказался от ohmyzsh, не то что бы он мешал, но оказолось что он нормально так отедал от стартапа, с ним 0.4с, после 0.1с, выбор очевиден, теперь пара плагинов лежат в репозитории дотфайлов в качестве гит сабмодулей
Можно упороться чуть больше и сделать ленивую подгрузку уже после того как отрисуется промпт, но 0.1 секунда меня вполне устраивает
Для промпта стоит pure-prompt, немнодко подкрутив настроечки он стал настолько меня устраивать, что и смотреть в сторону других не хочется
Начать пользоваться смотивировала необходимость в разработке на удалённом сервере
После того как разобрался с ним, теперь у меня 2 тмакс сессии, локально и удалённо. В локальной сессии есть окошко в которой подключён к удалённой машинке на которой запущена вторая сессия
Что бы одинаковый префикс прокидывался во внутреннюю сессию можно нажать его дважды или завести шорткад на прокидывание внутрь, как тут
Не самый известный факт, но в 3.1 они наконец поддержали XDG_CONFIG_HOME
И заключающая тема на сегодня - vim ✅
лет 5 назад имел необходимость трогать руками большие дампы баз данных 2Gb+
на тот момент актуальный саблайм мог открыть такой файл за 30 секунд 🥱
атом(еще в альфе) за 2минуты+ 😴
а в виме файл открывался за пару секунд и можно было начать что то делать 😳
Мой полный путь получился
sublime 👉 sublime + vim 👉 macvim 👉 term vim 👉 neovim
После появления асинхронных работ в неовиме жизнь уже не была прежней, стали появляться адекватные автокомплитеры и плагины для работы с LSP 🙌
Даже не смотря на классную работу ментейнеров и наличие встроенного LSP в 0.5 ветке неовима, всё равно считаю coc.nvim лучшей альтернативой, потому что это по сути форк vscode'овского LSP встроенного плагина github.com/neoclide/coc.n…
Это значит что при необходимости можно крайне просто портануть большинство вскод плагинов. К примеру мне как то показали плагин для прыжков к css модулям
классная штука, но ПРы висят месяцами и работает только с голым css с поддержкой одного препроцессора(из трёх) и без поддержки nesting
Ну что же, одним форком больше и теперь у счастливых виммеров автокомплиты и go-to-definition'ы работают с любыми препроцессорами и даже разрезанные nesting'ом
Вскод бояре, законтрибютье ваш плагин, сделайте себе жизнь удобнее 🙂
TLDR идеи, coc.nvim позволяет переиспользовать всё богатство жс экосистемы живущее в npm, можно и ремоут плагины писать, но это уже сильно популярная платформа с достойным DX
Сам конфиг живёт тут, из интересных фактов, в нём соблюдена максимальная совместимость с vim 7.4(удалённая разработка), каких то продвинутых вещей может не быть graceful degradation, я же фронтендер всё так
еще будет 2 подтемы в этом треде
- удобство
- startuptime
Болезненной ошибкой может быть в самом начале перебайндить какие то родные команды и в дальнейшем узнать что на них было что то полезное, а пальцы переучивать больно
Поэтому всё чего вам не хватает байндим на лидер или локаллидер
Для удобства лидер можно сделать пробелом, на нём всё равно всегда лежит один палец и в нормальном режиме он не делает ничего полезного
Возможности конфигурации этого редактора должны удовлетворить любого любителя конфигов, но если вам этого мало, то скорее всего вы недостаточно близко познакомились с командой :help
На случай если остался еще кто то, то еще одна пачка твитов про startuptime
Как и многие в какой то момент я заигрался с плагинами и у меня получилось собрать почти IDE, то есть открывалось всё заметно не быстро, попрофелировав это занимало 450ms кхе кхе вебшторм
Поэтому немножко разобрался что у меня было такого чем я не пользовался и что мне оказалось не нужным
Для профилирования есть встроенный флаг --startuptime, немного расписал про это тут
первым подруку попался nerdtree, как и многие пришедшие из GUI редактора мне нехватало шуфлядки с файлами, nerdtree меня устраивал, если он у вас стоит, то попробуйте открыть node_moduels и поставте лайк, когда откроется
По отчёту запуска нашёл что загружать словари для грамматической проверки написания комментариев это дорого, поэтому начал подгружать их лениво, где это поддерживается, я всё еще фронтендер
Вытащил лишние настройки в autoload и начал лениво запускать coc.nvim, выходит что редактор с раскаршеным файлом отрисовывается быстрее, а следом становятся умнее, прямо как в браузере с гидрацией
Последним шагом оказался g:did_install_default_menus, отрезал еще -100ms от запуска
После занимательных ковыряний я остался доволен результатом ~100ms, можно задаться вопросом к чему так упарываться, но об этом я уже расскажу в другой день, если кому то это актуально
Раньше еще dreamweaver был, с тех пор обладаю фобией сложных и загруженных интерфесов 😱
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Чего общего 1х1 с руководителем имеют с обучением?
👇 Маленький тред👇
На этой встерче можно и нужно обсуждать не только зарплаты/бонусу/конфликты и тд. Эта встерча нужна так же для вашего развития 📈
Если вы джун/мидл и у вас есть постоянные встречи с вашим руководителем/техлидом/менеджером и вы их пропускаете, потому что нет тем для обсуждений - зря
Первый тред недели будет про подготовку к публичным выступлениям 📝
👇👇👇
Я пишу много заметок для себя и часто их накапливается критическое кол-во и они перерастают в всодержимое доклада. Ниже несколько из докладов, что я расказывал на внешнюю аудиторию
Привет!
Меня зовут Антон Кастрицкий - @AntonK52, на этой неделе будем общаться про доклады, обучение, чаты, типизацию, качество жизни и, может быть, про вим.
Чем я занимаюсь? 👇
Работаю в Партнёрских Интерфейсах Яндекс.Маркета, иногда читаю доклады на конференциях, но чаще копаюсь в конфигах.
Работаю в ПИ последние 3+ лет, последние полгода работаю руководителем и посещаю много встреч🗓
(если не отвечаю вам до 6ти вечера, это и есть причина, не обижайтесь)
Давайте под конец рабочей недели поговорим о ведении технического (и не только) блога!
- Зачем вообще вести, как начать писать;
- Насколько глубоко уходить в тех. детали в постах;
- Свой хостинг или блогоплатформа;
- Русский или английский язык.
Кидайте ссылки на свои блоги!
Расскажите, ведёте ли вы свой блог?
как начинали?
что подтолкнуло?
что для вас самое сложное?
какие плюшки вы от блога получаете?