Самый удобный и минималистичный workflow для macOS (vim-centric)

Минимум настроек — максимум результата: удобное управление окнами и быстрый workflow для работы без переключения на мышь. Подойдет как обывателю, так и профессионалу.

Свободный текстовый редактор

Минимум настроек — максимум результата: удобное управление окнами и быстрый workflow для работы без переключения на мышь. Подойдет как обывателю, так и профессионалу.

Когда я начинал свой путь с Neovim как Python-разработчик, я столкнулся с проблемой: в русскоязычном сегменте практически нет материалов о том, как собрать свой конфиг с нуля.
Есть готовые дистрибутивы (NvChad, LazyNvim, AstroNvim), есть переводы англоязычных статей, но нет пошагового руководства на русском, которое объясняет почему и как устроен современный конфиг Neovim.
Весь свой опыт я собирал по крупицам из англоязычных блогов, YouTube-каналов и чужих конфигов. Теперь хочу поделиться этим опытом с русскоязычным сообществом.

Это Docker-шаблон для Python + Poetry, рассчитанный на реальную работу, а не учебные примеры: воспроизводимое окружение, удобный dev-workflow, отдельные сборки под прод, dev, Jupyter и AI-инструменты.
Автор использует его в основном для DS/ML-задач, где важнее скорость и предсказуемость, чем экономия пары мегабайт образа. Шаблон обкатан в бою, экономит время и легко кастомизируется под свои нужды.
👉 Репозиторий на GitHub:
https://github.com/jamm1985/vim-python-docker-template
Почти каждый Python-проект начинается одинаково: выбрать версию Python, настроить зависимости, виртуальное окружение, переменные среды, команды запуска. На практике самые болезненные места здесь — управление зависимостями и воспроизводимость окружения: разные версии библиотек, несовпадающие Python, локальные костыли, которые сложно повторить на другой машине или сервере.
Docker помогает изолировать окружение, но сам по себе он не решает Python-специфичные задачи. Его нужно правильно наполнить: учесть работу Poetry, кеширование зависимостей, структуру проекта и базовые практики, которые одинаково хорошо работают и в разработке, и в продакшене. Именно такой шаблон мы и будем собирать дальше.
В этой статье мы шаг за шагом соберём базовый Docker-шаблон для Python с Poetry, который удобно использовать и для разработки, и для прода. В основе будет минимальное и воспроизводимое окружение, а всё остальное - Vim как IDE, Jupyter, AI-инструменты вроде Codex или Gemini - вынесено в отдельные образы и слои, которые можно подключать по мере необходимости. Начнём с самого главного - разберём Dockerfile и поймём, как собрать прочную и расширяемую базу для Python-проекта.

Сегодня я поделюсь своим опытом настройки NeoVim для разработки. Если вы уже немного знакомы с этим редактором и хотите сделать свою работу в нём эффективнее — эта статья для вас.

Иногда нужно запустить nvim на старом сервере. Но тут сразу куча проблем: одно не поставить, другое не собрать, а если что-то обновить — можно развалить весь проект.
Этот подход удобен и для новых систем. Docker позволяет поднять nvim с последним Python, nvim-treesitter и своим конфигом прямо в контейнере, не засоряя основную ОС.
При этом можно редактировать локальные файлы на сервере так, как будто nvim установлен на самой системе. В статье показано, как всё это запустить на CentOS 7.
А если заработало там — значит, на любом современном Linux тем более проблем не будет.

Много лет был адептом GUI и вот уже ворочу нос от этой смердятины. Всё постоянно давит, всё не нравится. Если открываю VS Code или QtCreator - 10 минут вспоминаю как этом пользоваться. Хочу поделиться с тобой своей историей...

«Я: Сейчас быстро настрою Neovim и начну работать.»
Тоже я, спустя 6 часов:
«Ну зато у меня красивый статус‑бар и 15 новых плагинов!»

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

Vim и Emacs — это, пожалуй, самый древний и легендарный «братский» конфликт в мире текстовых редакторов. Одни говорят: «Люди делятся на тех, кто знает Vim, и тех, кто знаком с болью и страданием». Другие возражают: «Emacs на самом деле полноценная операционная система, где просто не хватает хорошего текстового редактора».
Давайте попробуем окунуться в историю этого противостояния и собрать любопытные (а местами и безумные) факты о Vim и Emacs.

Расскажу о том, почему я использую Neovim как основной текстовый редактор, а также о том, как я им пользуюсь.

Если я хочу посмотреть видео — разве для этого обязательно покидать vim?
Что ж, прямо в заголовке этого поста я пообещал вам продемонстрировать Bad Apple в vim, пользуясь только поисковыми запросами. Вот Bad Apple в vim, всё, что здесь меняется — только поисковый запрос:

Небольшая статья по настройке серверной части для телеграм бота, на базе языка программирования С++ и библиотек TgBot и sqlite3.

Ctrl+A для перехода к началу строки (или Ctrl+E для перехода в конец — я использовала вместо этого Home/End).
Откиньтесь на спинку кресла, пододвиньте монитор поудобнее, сейчас будет краткий магически метафоризированный рассказ о редакторах кода. А потом, о новом явлении, или даже тектоническом сдвиге, в этом древнем мире. О редакторе Helix, глазами старого Vim-овода.

Опытные разработчики каждый день пишут тонны кода (а еще более опытные не пишут его совсем), и если ты хочешь быть продуктивным — нужно учиться писать быстрее. Сегодня на связи — Даниил Лихачев, python-разработчик в ДАЛЕЕ. Делюсь известными и не очень способами по ускорению написания кода.

Данная конфигурация собиралась очень долго. на данный момент работаю именно на ней. Является больше напоминанием для себя, и шпаргалкой для тех кому интересно. Это субъективная точка зрения, и ни кому ее не навязываю. Если захотите использовать, буду рад тем что помог.
Резюме статьи:
пошаговая настройка рабочего места для разработчиков. кто хочет попробовать неизведанное.

По большому счету единственной незакрытой темой в рубрике "Про Vim" осталась тема об альтернативе Conqueror of Completion для Neovim в Lua исполнении. Причиной перерыва между данной и предыдущей статьей в рубрике стало отсутствие необходимости в этой самой альтернативе. Ну или вернее причина может быть и была: во-первых - что бы удовлетворить любопытство, во-вторых - CoC действительно кажется громоздким и достаточно сложным внутри. Вариант на Lua мне бы дался легче, если бы захотелось что-то в нем подшаманить. Наверное.

В этой статье затронем редакторы семейства Vi и разберем базовые сценарии работы с NeoVim. Начинающие специалисты смогут использовать материал в качестве туториала, а опытные разработчики, возможно, отметят для себя что-то новое.
Почему именно NeoVim? Всё просто: этот текстовый редактор сохраняет совместимость с Vim, но также предлагает дополнительные возможности и улучшенный интерфейс. Он позволяет более эффективно работать с кодом, а главное — настраивать редактор под свои нужды.

Говорят, однажды попробовав Vim, назад уже не вернешься.
Для разработчика Vim может быть опасен. Особенно если коллеги настаивают на его использовании или, как минимум, тонко намекают. Как если бы ты был Нео из «Матрицы», и вдруг в обычный, ничего не предвещающий день…
Опа! Сбой в матрице.
Выбор за тобой. Потом пути назад уже не будет. Примешь синюю таблетку — история закончится, ты проснёшься в своей постели и будешь верить, что GUI — это сила. Примешь красную — и останешься в Стране Чудес, а я покажу тебе, насколько глубока кроличья нора Vim. Помни — я предлагаю только правду, и ничего более.

What’s up guys!
Когда я только начинал пользоваться Linux и впервые запустил этот текстовый редактор я его немного испугался… но позже разобрался и понял, насколько же он удобен.
Как вы уже вероятно поняли, в этой статье-шпаргалке мы немного (совсем) поговорим про текстовый редактор Vim. Я постарался сделать её максимально сжатой, и она нацелена в основном на новичков, которые просто хотят понять, как пользоваться этим текстовым редактором.