Кастомизация редактора Zed не для технарей

Около месяца, как перешел с Sublime Text на опенсорсный текстовый редактор Zed. И все в нем прекрасно: дизайн, множество тем и плагинов. Вокруг уже появилось свое небольшое активное комьюнити, которое помогает проекту развиваться. В ближайшем будущем обещают даже поддержку Jupyter Notebook. Паттерны использования описал в заметке.

Zed (рус. Зэд) — это высокопроизводительный, современный и минималистичный редактор кода на Rust, активно использующий GPU для быстрой и плавной работы интерфейса, созданный командой разработчиков Atom; он поддерживает многопользовательскую работу в реальном времени, стандарты LSP и MCP для автодополнения и диагностики, интеграцию с Git и ИИ-помощниками (включая GPT и Claude), имеет встроенный терминал и мощные функции IDE, обеспечивая молниеносный отклик и удобство для командной разработки. Zed — это открытый проект с акцентом на скорость, отзывчивость и совместное программирование.

текстовый редактор Zed с проектом из Яндекс Практикума
Пример редактирования проекта из курса Аналитика данных

С первого запуска стало понятно, что некоторые функции придется настраивать под себя: сортировка по алфавиту или уникальным строкам. Документация с первого раза не отвечала на большинство вопросов. Пришлось лезть в гитхаб и искать. Оказалось достаточно забиндить клавиши под отдельные функции в настройках (Settings → Open Key Bindings [#K &S]). Получился такой конфиг:

[
 // Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
  {
    "context": "Workspace",
    "bindings": {
      // "shift shift": "file_finder::Toggle"
    }
  },
  {
    "context": "Editor && mode == full",
    "bindings": {
      // "j k": ["workspace::SendKeystrokes", "escape"]

      // Мои F-клавиши для работы со строками
      "f3": "editor::UniqueLinesCaseInsensitive", // Удаление дубликатов без учета регистра
      "f4": "editor::UniqueLinesCaseSensitive", // Удаление дубликатов с чувствительностью регистру
      "f5": "editor::SortLinesCaseInsensitive", // Сортировка без учета регистра
      "f6": "editor::SortLinesCaseSensitive", // Сортировка с чувствительностью регистру
      "f7": "editor::ReverseLines", // Обратная сортировка списка
      "f8": "editor::ShuffleLines", // Случайная сортировка
      "f9": "editor::DeleteLine", // Удаление строки

      // Дубликат строки: если у тебя есть editor::DuplicateLineDown в дефолтном keymap —
      // раскомментируй следующую строку и закомментируй вариант с SendKeystrokes ниже.
      // "shift-alt-down": "editor::DuplicateLineDown", // Дубликат строки вниз (нативный экшен)

      // Универсальный вариант дубликата строки через эмуляцию клавиш (работает везде):
      "shift-alt-down": ["workspace::SendKeystrokes", "cmd-c cmd-v"], // Дубликат строки (copy + paste)

      // Мультикурсор / выбор как в VSCode:
      "cmd-l": "editor::SelectLine", // Выделить текущую строку
      "cmd-shift-l": "editor::SelectAllMatches", // Курсор на всех совпадениях выделения
      "cmd-alt-up": "editor::AddSelectionAbove", // Добавить курсор выше
      "cmd-alt-down": "editor::AddSelectionBelow" // Добавить курсор ниже

      // Под cmd-d в Zed нет идеального аналога VSCode "select next occurrence".
      // Обычно используют дефолтный биндинг для поиска или editor::SelectNext,
      // его можно подсмотреть в zed: open default keymap и при желании сюда добавить.
    }
  }
]

Обновлено 21 июня 2026

Еще по теме
Официальная страница редактора Zed
Sublime Text для маркетологов

Send
Share
Pin