Настройка ZED. Отключаем лишнее

В прошлом году мы с тобой активно обсуждали редактор ZED в этом посте. Тогда всплыло много нюансов и неоднозначных проблем связанных с его работой. Но вернувшись к этому IDE спустя несколько месяцев, я был приятно удивлён. 99% багов, которые были, теперь пофикшены. Редактор стал намного дружелюбнее и гибче, ну а самое главное перестал жрать память как не в себя.

Вся правда про ZED

Поговорим про среду разработки ZED, как установить, на сколько она хороша, какие есть баги и стоит ли съезжать на него с vim и vscode.

Поэтому я полностью перепрыгнул с neovim на zed и уже несколько месяцев его активно использую в своих непотребствах. Но конечно-же предварительно, превратив в его в дружелюбный инструмент и избавив от лампочек и рюшечек.

 читать первым в телеграм    читать первым в макс

Сегодня будем настраивать конфиг и прятать элементы интерфейса, чтобы получить минималистичный молоток. Избавимся от лампочек и кнопочек, но не в ущерб функциональности.

Поехали ковыряться в кишочках!

Открываем конфиг на редактирование, это можно сделать с помощью горячих клавишь CTRL+ALT+, либо через меню File, либо напрямую через путь: /Users/user/AppData/Roaming/Zed/settings.json. А еще можно через CTRL+SHIFT+P и ввести open settings file.

Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Пишу для винды, так что на макосях и линуксе подстраивайся сам. Там оно немного по местоположению файла конфигурации отличается. Короче не критично, но нюансик.

Из файла выкашиваем всё содержимое.

Что интересно, все манипуляции с конфигом можно делать через морду, то есть накликивать мышкой нужные опции и конфиг будет меняться налету. Проблема тут только одна — хрен чё найдешь, потому что разнообразие кнопочек и ползунков зашкаливает. Это надо садиться и целый день натыкивать. Не наш вариант.

Лови портянку:

// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)

{
  "autosave": {
    "after_delay": {
      "milliseconds": 1000
    }
  },
  "relative_line_numbers": "enabled",
  "disable_ai": true,
  "outline_panel": {
    "dock": "left"
  },
  "collaboration_panel": {
    "dock": "left"
  },
  "git_panel": {
    "dock": "left"
  },

  "vim_mode": false,

  "telemetry": {
    "metrics": false,
    "diagnostics": false
  },
  "ui_font_size": 20,
  "ui_font_family": "Dank Mono",
  "buffer_font_size": 16,
  "buffer_line_height": {
    "custom": 1.7
  },
  "agent_ui_font_size": 14,
  "agent_buffer_font_size": 14,
  "theme": "Aura Dark",
  "icon_theme": "Zed",
  "terminal": {
    "font_family": "DroidSansM Nerd Font Mono"
  },
  "theme_overrides": {
    "Aura Dark": {
      "border.variant": "#15141C",
      "border": "#15141C",
      "title_bar.background": "#15141C",
      "panel.backgroud": "#15141C",
      "panel.focused_border": "#4E466E",
      "players": [
        {
          "cursor": "#BD9DFF"
        }
      ],
      "syntax": {
        "comment": {
          "font_style": "italic"
        },
        "comment.doc": {
          "font_style": "italic"
        }
      }
    }
  },
  "title_bar": {
    "show_onboarding_banner": false,
    "show_project_items": false,
    "show_branch_name": false,
    "show_user_menu": false
  },
  "tab_bar": {
    "show": false
  },
  "toolbar": {
    "quick_actions": false
  },
  "status_bar": {
    "experimental.show": false
  },
  "project_panel": {
    "dock": "left",
    "default_width": 400,
    "hide_root": true,
    "auto_fold_dirs": false,
    "starts_open": true,
    "git_status": true,
    "sticky_scroll": false,
    "scrollbar": {
      "show": "never"
    },
    "indent_guides": {
      "show": "never"
    },
    "outline_panel": {
      "default_width": 100,
      "indent_guides": {
        "show": "never"
      }
    },
    "file_finder": {
      "modal_max_width": "large"
    }
  },
  "scrollbar": {
    "show": "never"
  },
  "gutter": {
    "min_line_number_digits": 0,
    "folds": false,
    "runnables": false
  },
  "indent_guides": {
    "enabled": false
  },
  "current_line_highlight": "none",
  "show_whitespaces": "none",
  "tab_size": 2,
  "auto_indent_on_paste": false,
  "show_completions_on_input": true,
  "show_completion_documentation": false,
  "inline_code_actions": false
}

Добавляй, сохраняй и наслаждайся минимализмом. По желанию можешь включить vim_mode если привык к вимоподобным редакторам. Возможно придется отдельно скачать тему и иконки, но делается это через меню редактора в пару кликов. Ну и шрифты подтянуть. Думаю разберешься, тыж не бивень.

Кстати вкладки сверху я тоже спрятал, чтобы между ними переключаться, можешь использовать комбинацию CTRL+TAB и выбирать нужный файл для редактирования. Либо воспользоваться панелькой поиска CTRL+P

Как видишь ничего сложного в этом есть, самое главное знать что где подкрутить. Бери конфиг и пробуй включать и выключать разные опции. И по итогу подгонишь ZED под свои реалии и продуктивную работу. А самое главное ничего отвлекать не будет и редактор перестанет выглядеть как космический корабль.

Минимализм наше всё. Тем более любое действие можно забиндить на горячие клавиши и не париться за иконки в интерфейсе.

Сниппеты (ZED Snippets)

Отдельно запилил сниппеты, чтобы быстро вставлять заголовки в Hugo и всякие кнопочки с блоками, делается это через файл C:\Users\user\AppData\Roaming\Zed\snippets. Туда я закинул файл markdown.json и выглядит он у меня так:

{
  "Add head options for Hugo": {
    "prefix": "head",
    "body": [
      "---",
      "title: \"\"",
      "date: ${2:01-04-2026}",
      "draft: false",
      "description: ",
      "toc: false",
      "tags: []",
      "slug: ",
      "author: roman",
      "---",
      "",
      "$0"
    ],
    "description": "Insert Hugo frontmatter"
  },
  
  "Add img options for Hugo": {
    "prefix": "img",
    "body": ["![](/images/2026/.png)"],
    "description": "Insert image shortcode"
  },

}

Теперь если я начинаю вводить условно img то сразу могу вставить предопределенный блок для вставки картинки. Аналогично работает и для других сниппетов, например tg или mx будет вставлять блок с кнопками на соцсети. Блок с кнопками я вынес в отдельный shortcodes.

Сниппеты особо не конфигурировал, мне хватает базового функционала. Если уж очень хочется поглубже разобраться с ними, велком в официальную документацию.

Заключение

ZED однозначно стал хорош и в таком виде полностью удовлетворяет мои потребности. Особенно понравился vim режим, можно сказать съехал с neovim без боли и страданий. Возможно со временем что-то вылезет неприятное и я вернусь в старое русло, но пока всё выглядит более чем достойно.

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

Комментарии