WorldTUI: I trained a 360M model to pretend to be a terminal 🔥 Горячее 💬 Длинная дискуссия
Разработчик дообучил языковую модель Qwen2.5-Coder-0.5B на 360 млн параметров, чтобы она вела себя как настоящий терминал. За демонстрацией нет ни оболочки, ни файловой системы: каждое нажатие клавиши подаётся на вход, а модель предсказывает, как изменится экран. Она умеет создавать файлы, запускать vim и tmux, играть в «змейку» и обычно помнит, что вы вводили несколько команд назад. Наберите pythoon — и увидите, что это не настоящая оболочка.
Терминал представлен сеткой символов, а не пикселей, поэтому обучающие данные можно генерировать в неограниченном объёме, запуская реальные программы в Docker. Модель не видит сетку напрямую — она получает последовательность токенов с содержимым экрана, позицией курсора и изменениями. Вместо потока текста она предсказывает, какие строки перерисовать и куда переместится курсор. Время тоже подаётся на вход: если ничего не нажато, приходит токен ожидания с длительностью — так «змейка» движется сама. Главные удачи — обучение модели исправлять собственные ошибки и параллельное декодирование строк экрана.
Демонстрация рассчитана на настольный браузер с WebGPU и физической клавиатурой, лучше всего работает в Chrome или Edge. Это загрузка на 208 МБ, всё выполняется локально. В планах — обучение на тысячах случайно сгенерированных приложений, чтобы проверить, сможет ли модель предсказывать поведение программы, которую никогда не видела. Веса обещают выложить позже.
Комментарии (165)
Обсуждение дополняет статью идеями применения проекта, сравнением с аналогами и первыми отзывами. @donperignon отмечает, что в реальных тестах модель работает нестабильнее, чем в демо: она ошибается при создании папок и теряет состояние. @Meleagris и @gdevenyi предлагают использовать модель для создания интерактивных honeypots. @amelius советует развивать идею в сторону симуляции конкретного пользователя или интернета (через lynx) вместо общего терминала. @thorum и @aurareturn видят в этом будущем интерфейсов, где локальные модели генерируют UI в реальном времени. Проект сравнивают с vibeSH (@rowbin), Voidware (@ohadpr) и симуляцией Quake II от Microsoft (@psandor). По мнению @andai, выбор Qwen2.5-Coder в качестве базы оправдан её знакомством с синтаксисом CLI.
Installing NeoVim caused original Vim undo files to be deleted 🔥 Горячее 💬 Длинная дискуссия
David Chisnall поделился опытом использования Vim, подчеркнув, как глубоко встроенные привычки редактирования становятся рефлекторными — он пишет, что его «высшие мозговые функции не задействованы» при работе с привычными командами, а случайные :w появляются в документах, созданных в других редакторах. Особую ценность он придаёт функции persistent undo, которая сохраняет историю изменений даже после перезагрузки системы или закрытия файла, позволяя восстановить утерянный контент спустя недели или месяцы. Эта надёжность сохранялась на протяжении двух десятилетий и крупных обновлений Vim, что, по его мнению, воплощает Первый закон Раскина: программа не должна вредить данным пользователя или, бездействуя, позволять им пострадать.
Однако его опыт с NeoVim оказался разочаровывающим: при первом использовании он обнаружил, что undo перестал работать не только в NeoVim, но и в обычном Vim после взаимодействия с ним. Оказалось, что NeoVim изменил формат файлов отката, не обеспечив обратной совместимости — он просто удалял существующие файлы undo Vim, не переименовывая их и не конвертируя, тем самым стирая всю историю изменений. Когда Чисналл поднял эту проблему, ответ разработчиков был тем, что формат «нестабилен» и пользователи не должны полагаться на сохранность данных в функции, явно названной «persistent undo». Это отношение, по его мнению, демонстрирует полное отсутствие чувства ответственности перед пользователями: удалять данные, хранящиеся в файловой системе, просто потому что формат изменился, — неприемлемо. Этот инцидент окончательно оттолкнул его от NeoVim, так как нарушение доверия к сохранности данных оказалось неприемлемым, даже если бы оно было случайной ошибкой.
Комментарии (203)
NeoVim может удалять файлы persistent undo при несовместимых форматах, но только при совместном использовании одного каталога undo с Vim. По умолчанию NeoVim сохраняет undo в $XDG_STATE_HOME/nvim/undo/, Vim — рядом с файлом (.un~) или в ~/.vim/undo/. При изменении формата NeoVim удаляет старый файл, что приводит к потере истории после обновления. Пользователь @gavinhoward подтвердил этот случай: после обновления NeoVim он не смог откатить изменения из‐за исчезнувшего undo‐файла. Чтобы избежать потери, рекомендуется задавать отдельные каталоги undo для NeoVim и Vim или отключать persistent undo. Многие считают, что persistent undo не заменяет систему контроля версий; лучше использовать git для надёжного бэкапа. Преимущества NeoVim — скорость и улучшенная подсветка синтаксиса через treesitter — часто перевешивают проблему с undo‐файлами. Критика молчаливого удаления файлов приводит к предложению добавить предупреждение или резервное копирование перед удалением. Persistent undo используется редко; многие отключают его, чтобы не засорять файловую систему. Функция появилась в Vim 7.3 в 2010 году, а не почти 20 лет назад. NeoVim воспринимается как «Vim с ломающими изменениями», что создаёт ожидание несовместимости при переходе. Пользователи отмечают, что NeoVim ощущается быстрее и имеет более современный набор функций, что делает его привлекательным, несмотря на проблемы с совместимостью undo.
Good Tools Are Invisible 🔥 Горячее 💬 Длинная дискуссия
Хороший инструмент почти исчезает: он работает так, что пользователь даже не задумывается о нём. Автор критикует тех, кто превращает слабости утилит в «головоломки», рекламируя их как «развлечение». В качестве примера берётся vim: многие хвалят его за возможность писать макросы, хотя в Sublime аналогичную задачу решают за минуту несколькими курсорами. Автор использует Sublime уже 15 лет, считает несколько курсорных режимов продуктивнее макросов почти в 100 % случаев, а макросы нужны лишь дважды, и их создание заняло больше времени, чем написание скрипта.
Когда инструмент становится частью личности, его недостатки превращаются в «трибальные» символы, и их защищают, а не устраняют. Продуктивность часто путают с ощущением харизмы: решить сложную задачу может казаться круто, но по времени это медленнее. Тот же спор происходит вокруг терминальных и графических интерфейсов: терминалы неinherently лучше, просто многие GUI‑приложения плохо реализованы для клавиатурного управления, и их можно улучшить, если разработчики захотят. Автор отмечает, что большинство программистов не работают постоянно в терминале, поэтому аргумент о «естественном» преимуществе TUI часто ошибочен.
Комментарии (208)
- Инструменты становятся «невидимыми», когда пользователь настолько привыкает к их работе, что перестаёт их замечать и сосредотачивается только на решении задач.
- Продуктивность часто связана не с «видимостью» функций, а с тем, насколько удобно обходить их ограничения и насколько естественно взаимодействие с инструментом.
- У разработчиков часто несоответствие между тем, как они воспринимают свой инструмент, и тем, как им его используют конечные пользователи, приводит к недоразумениям и лишним трениям.
- При выборе инструмента важнее баланс между простотой использования и гибкостью, а также осознание, что «невидимость» – это результат практики, а не обязательный признак «лучшего» решения.
IDEmacs: A Visual Studio Code clone for Emacs 🔥 Горячее
IDEmacs представляет собой набор конфигураций для Emacs, созданный для упрощения входа в этот мощный редактор через имитацию интерфейса популярных IDE. Проект ориентирован на трех основных групп пользователей: программистов, переходящих с других IDE; начинающих Common Lisp и Scheme разработчиков, которым нужна функциональность Emacs без сложной настройки; а также непрограммистов, ищущих полнофункциональный редактор для Org, Markdown или LaTeX.
Ключевая особенность IDEmacs - это сочетание традиционного для Emacs управления с клавиатуры и поддержки GUI с мышью. В отличие от большинства стартовых комплектов для Emacs, здесь не скрываются графические элементы интерфейса, что значительно снижает порог входа для новичков. Проект позиционируется как временное решение ("заплатка") для текущей ситуации, когда Emacs с Sly/Geiser остается лучшей средой разработки для Lisp/Scheme, несмотря на его сложность для начинающих.
Комментарии (116)
- Пользователи спорят о модернизации Emacs: одни хотят сохранить ядро, но обновить UI (giancarlostoro), другие считают устаревший интерфейс фичей (raincole), третьи критикуют производительность (koiueo).
- Альтернативы Emacs обсуждаются активно: VS Code с плагинами (ruguo), OniVim (tiffanyh), Neovim с distant.nvim (pca006132), а также Electron-редакторы с Vim-подобными биндами (trenchpilgrim).
- Удалённая работа через SSH/TRAMP в Emacs возможна (brendyn, v9v), но имеет проблемы с задержками, в отличие от VS Code Remote (pca006132, blubber).
- Клавиатурные комбинации Emacs (C-x, C-c и др.) вызывают поляризацию мнений: одни считают их устаревшими (tom_), другие — неотъемлемой частью (ssivark).
- Сообщество Emacs сопротивляется радикальным изменениям UI, предпочитая кастомизацию через "стартовые пакеты" (ssivark), хотя часть видит в этом контркультурное противодействие прогрессу (stackghost).
Notes on switching to Helix from Vim 🔥 Горячее 💬 Длинная дискуссия
Julia Evans рассказала, как за три месяца перешла с Vim на Helix. Главное, что языковые серверы работают без настройки, а поиск показывает контекст совпадений. Минусов мало: нет автоперезагрузки файлов, не хватает приёма undo и редко падает. Но она привыкла и даже не чувствует, что потеряла 20 лет мускульной памяти Vim.
Комментарии (173)
- Пользователи обсуждают преимущества и недостатки Helix и Neovim: кто-то ценит «из коробки»-конфигурацию Helix, кто-то — гибкость Neovim; спор о том, какой редактор «лучше» ведётся в основном вокруг личных привычек и потребностей.
- Участники обмениваются советами по настройке LSP, автосохранению и другим функциям, но в целом признают, что оба редактора требуют документации и что «из коробки»-конфигурация Helix может быть проще в использовании.
- Некоторые участники подчеркивают, что Helix всё ещё молод и не реализует все функции, в то время как Neovim имеет 20-летнюю историю и большое сообщество плагинов и интеграций.
- Участники также обсуждают, что Helix требует меньше конфигурации, но Neovim требует больше настройки, чтобы достичь схожего уровня функциональности.
- Некоторые участники высказывают, что Helix не имеет столь же развитой экосистемы плагинов и интеграций, как Neovim, и что это может быть препятствием для пользователей, которые ищут расширяемость.
- Несколько участников упоминают, что Helix написан на Rust и может быть более производительным, в то время как Neovovim может быть более «гибким» в плане настройки и конфигурации.
- Участники также обсуждают, что Helix имеет встроенную поддержку LSP и tree-sitter, в то время как Neovim требует установки и настройки LSP и tree-sitter вручную.
- Некоторые участники упоминают, что Helix не имеет встроенной поддержки терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки макросов, в то время как Neovim может использовать макросы для автоматизации задач.
- Некоторые участники упоминают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для макросов, в то время как Neovim может использовать макросы для автоматизации задач.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексоры для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексора для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексора для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексора для разделения окон.
- Участники также обсуждают, что Helix не имеет встроенной поддержки для встроенного терминала, в то время как Neovim может использовать tmux или другие терминальные мультиплексора для разделения
D2 (text to diagram tool) now supports ASCII renders 🔥 Горячее
ASCII-вывод в D2 0.7.1
Файлы с расширением .txt теперь рендерятся в ASCII. Пример: при сохранении .d2-файла Vim-плагин мгновенно показывает ASCII-превью.
Для документации кода
ASCII-диаграммы удобно вставлять в комментарии: выделите блок d2, плагин заменит его ASCII-версией.
Unicode или чистый ASCII
По умолчанию используются символы Unicode, но флаг --ascii-mode=standard вернёт строгий ASCII.
Ограничения (альфа-версия)
- Без стилей:
animated,font, темы не поддерживаются; цвета в терминале — возможно позже. - Неравномерные отступы из-за дискретной сетки.
Сообщайте о багах: github.com/terrastruct/d2/issues.
Попробуйте сейчас
Откройте пример в D2 Playground.
Комментарии (70)
- Представлена новая альфа-функция D2: рендеринг диаграмм в ASCII.
- Пользователи сравнивают D2 с Mermaid, отмечают лучший внешний вид и CLI без Chromium, но упрекают в отсутствии GitHub-рендеринга и сложных grid-раскладок.
- Появились вопросы о браузерной офлайн-работе, vim-/emacs-плагинах, Python-обёртке и возможности ручной подгонки элементов.
- Автор подтвердил, что WASM-версия (d2.js) уже работает в браузере, но пока неанонсирована; официальный релиз и поддержка PR-диаграмм ожидаются позже.
Progress towards universal Copy/Paste shortcuts on Linux
На Linux Ctrl-C/Ctrl-V в терминале не работают, потому что Ctrl нужен для управляющих кодов. Приходится жать Ctrl+Shift+C/V. К 2025 году появится универсальное решение без лишнего ПО: старые коды клавиш Copy и Paste, которые Linux «знает» с древности.
Как это работает
-
Клавиатура
Программируемые клавиатуры (System76 Launch, Framework 16, ZSA Moonlander, Keychron Q10 и др.) позволяют назначить на любую клавишу слой, где C = Copy, V = Paste. Для активации слоя удерживается модификатор (например, «Raise» на моей Corne). -
Прошивка и конфигураторы
Производители дают свои утилиты (System76 Keyboard Configurator), а Vial поддерживает множество моделей. В слое можно вывести Copy/Paste на C/V, стрелки на домашний ряд и прочие удобства. -
ПО Linux
Приложения опираются на GUI-тулкиты GTK и Qt.- GTK добавил поддержку Copy/Paste-кодов в январе 2025.
- Qt внедрит их в версии 6.10 (сентябрь 2025).
Совокупность программируемого «железа» и обновлённых тулкитов даст единые горячие клавиши Copy/Paste во всех приложениях Linux без дополнительных твиков.
Комментарии (135)
- Участники жалуются на разнообразие клипбордов в Linux (X11, Vim, tmux) и их несогласованность.
- В терминалах приходится добавлять Shift к Ctrl-C/Ctrl-V, что ломает мышечную память и вызывает ошибки.
- Apple решает конфликт отдельным Cmd-ключом, но даже там приложения перехватывают сочетания непредсказуемо.
- Многие используют альтернативы: Ctrl/Shift-Insert, выделение + средняя кнопка мыши, ремап клавиш, покупку программируемых клавиатур.
- Единого механизма объявления и настройки шорткатов в Linux нет, поэтому Chrome и другие приложения игнорируют системные привязки.
Claude Code IDE integration for Emacs 🔥 Горячее 💬 Длинная дискуссия
Claude Code IDE для Emacs
Обзор
- Интеграция с Claude Code CLI через MCP создает двусторонний мост между Claude и Emacs.
- Claude получает доступ к возможностям Emacs: LSP, проекты, Elisp-функции, что делает его «понимающим Emacs» помощником в вашем рабочем процессе.
Возможности
- Автоопределение проекта и управление сессиями
- Терминал с цветом (vterm/eat)
- Реализация MCP для IDE-интеграции
- Инструменты для файлов, состояния редактора и рабочего пространства
- Расширяемый сервер MCP для Emacs-команд (xref, tree-sitter, project и др.)
- Диагностики Flycheck/Flymake
- Расширенный дифф с ediff
- Поддержка tab-bar и отслеживание выделений/буферов
Интеграция инструментов Emacs
- LSP через xref (eglot, lsp-mode) для навигации по коду
- Tree-sitter для анализа AST
- Imenu для структуры символов
- Project для операций на уровне проекта
- Любую команду/функцию Emacs можно выставить как MCP-инструмент: поиск и рефакторинг по проекту, доступ к режимам, выполнение кастомного Elisp.
Скриншоты
- Осведомленность об активном файле — знает, какой файл открыт
- Контекст выделения — работает с выделенным текстом
- Продвинутый дифф с диагностикой — ediff и доступ к ошибкам/предупреждениям
- Автоматические упоминания текста — вставка ссылок на выделение в диалог
- Восстановление сессии — продолжение разговоров с флагом –resume
Установка Предварительные требования
- Emacs 28.1 или новее
Комментарии (261)
- AI-инструменты вроде Claude Code делают Emacs/Vim конкурентоспособными: вместо самостоятельной реализации сложных IDE-функций редакторы просто интегрируются с готовыми агентами.
- Пользователи хвалят Emacs за полный доступ к состоянию редактора и возможность «на лету» менять поведение через Elisp, что идеально подходит для AI-агентов.
- Уже существует несколько реализаций интеграции (claude-code.el, eca, claude-code-emacs и др.); споры идут, какая из них лучше, но все признают, что встраивание в Emacs ускоряет рабочий процесс.
- Проблемы: сложность конфигурации, риск утечки чувствительных данных, привязка к конкретному провайдеру и необходимость локального запуска для приватности.