SpyBara
Go Premium

terminal-config.md 2026-11-12 23:02 UTC to 2026-11-13 00:00 UTC

No changes for this document in this history range.

2026
Fri 6 23:01 Tue 10 21:57 Fri 13 02:00

Настройте ваш терминал для Claude Code

Исправьте Shift+Enter для новых строк, получайте звуковой сигнал терминала при завершении Claude, настройте tmux, сопоставьте цветовую схему и включите режим Vim в CLI Claude Code.

Claude Code работает в любом терминале без конфигурации. Эта страница предназначена для случаев, когда что-то конкретное ведёт себя не так, как вы ожидаете. Найдите вашу проблему ниже. Если всё уже работает правильно, вам не нужна эта страница.

Эта страница посвящена тому, чтобы ваш терминал отправлял правильные сигналы в Claude Code. Чтобы изменить, на какие клавиши реагирует сам Claude Code, см. вместо этого сочетания клавиш.

Ввод многострочных подсказок

Нажатие Enter отправляет ваше сообщение. Чтобы добавить разрыв строки без отправки, нажмите Ctrl+J или введите \ и затем нажмите Enter. Оба способа работают в любом терминале без настройки.

В большинстве терминалов вы также можете нажать Shift+Enter, но поддержка зависит от эмулятора терминала:

Терминал Shift+Enter для новой строки
Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal Работает без настройки
Другие терминалы, поддерживающие протокол клавиатуры kitty, такие как foot и Alacritty 0.16 или позже Работает без настройки. Требуется Claude Code v2.1.269 или позже
VS Code, Cursor, Devin Desktop, Alacritty до версии 0.16, Zed Запустите /terminal-setup один раз
gnome-terminal, JetBrains IDEs такие как PyCharm и Android Studio Недоступно; используйте Ctrl+J или \ затем Enter

Для VS Code, Cursor, Devin Desktop, Alacritty до версии 0.16 и Zed, /terminal-setup записывает сочетание клавиш Shift+Enter в файл конфигурации терминала. При первом запуске вы видите подтверждение, например Installed VSCode terminal Shift+Enter key binding. Существующие сочетания клавиш остаются на месте; если вы видите сообщение, например VSCode terminal Shift+Enter key binding already configured, изменений не было внесено. Запустите /terminal-setup непосредственно в хост-терминале, а не внутри tmux или screen, так как ему нужно записать в конфигурацию хост-терминала.

В VS Code, Cursor и Devin Desktop, /terminal-setup также обновляет два параметра редактора: он устанавливает terminal.integrated.gpuAcceleration на "off" для предотвращения искажённого текста в интегрированном терминале и устанавливает terminal.integrated.mouseWheelScrollSensitivity для более плавной прокрутки в полноэкранном режиме. Чтобы отменить изменение ускорения GPU, установите его обратно на "auto" и перезагрузите окно редактора.

В Zed, /terminal-setup обновляет ваш keymap.json на месте:

  • Если keymap уже содержит сочетания клавиш и ни одно из них не является Terminal shift-enter, Claude Code сначала создаёт его резервную копию в том же каталоге, например keymap.json.1a2b3c4d.bak, затем объединяет сочетание клавиш Shift+Enter в ваш keymap, сохраняя ваши другие сочетания клавиш и комментарии
  • Если Claude Code не может прочитать или разобрать keymap, не может создать резервную копию или не может проверить объединённый результат, он оставляет файл без изменений и выводит блок сочетания клавиш для добавления вручную

Если вы работаете внутри tmux, Shift+Enter также требует конфигурацию tmux ниже даже когда внешний терминал её поддерживает.

Чтобы привязать новую строку к другой клавише или поменять поведение так, чтобы Enter вставлял новую строку, а Shift+Enter отправлял, сопоставьте действия chat:newline и chat:submit в вашем файле сочетаний клавиш.

Включение сочетаний клавиш с клавишей Option на macOS

Некоторые сочетания клавиш Claude Code используют клавишу Option, например Option+Enter для новой строки или Option+P для переключения моделей. На macOS большинство терминалов по умолчанию не отправляют Option в качестве модификатора, поэтому эти сочетания клавиш не работают, пока вы их не включите. Параметр терминала для этого обычно называется "Use Option as Meta Key"; Meta — это историческое название Unix для клавиши, которая теперь называется Option или Alt.

[tab] Apple Terminal

Откройте Settings → Profiles → Keyboard и установите флажок "Use Option as Meta Key".

Если вы приняли приглашение Claude Code для первоначальной настройки терминала, это уже сделано. Это приглашение запускает /terminal-setup для вас, что включает Option как Meta и отключает звуковой сигнал в вашем профиле Apple Terminal.

В режиме чтения с экрана /terminal-setup оставляет параметр звонка без изменений, чтобы звонок терминала оставался слышимым. Если более ранний запуск отключил звонок, включите его снова в Settings → Profiles → Advanced → "Audible bell".

[tab] iTerm2

Откройте Settings → Profiles → Keys → General и установите Left Option key и Right Option key на "Esc+".

Запуск /terminal-setup в iTerm2 включает "Applications in terminal may access clipboard" в Settings → General → Selection, чтобы команда /copy могла писать в буфер обмена вашей системы. Команда обнаруживает iTerm2 даже при запуске изнутри tmux. Перезагрузите iTerm2, чтобы изменение вступило в силу.

[tab] VS Code

Добавьте "terminal.integrated.macOptionIsMeta": true в ваши параметры VS Code.

Для Ghostty, Kitty и других терминалов ищите параметр Option-as-Alt или Option-as-Meta в файле конфигурации терминала.

Получение звонка терминала или уведомления

Когда Claude завершает задачу или ждёт разрешения, и вы, похоже, отошли от терминала, он отправляет событие уведомления. Смотрите когда срабатывает каждый тип уведомления для точного времени. Отображение этого как звонка терминала или уведомления рабочего стола позволяет вам переключиться на другую работу, пока выполняется длительная задача.

По умолчанию Claude Code отправляет уведомление рабочего стола в одних терминалах, а в других — символ звонка или ничего:

  • Ghostty, Kitty и iTerm2, когда Claude Code их обнаруживает: уведомление рабочего стола, которое iTerm2 показывает только после того, как вы включите его настройки оповещений.
  • Apple Terminal: без звука; беззвучный символ звонка, если Claude Code обнаруживает, что параметр "Audible bell" отключён в профиле активного окна Terminal, в противном случае ничего. Этот символ звонка отображается как мигание окна или подпрыгивание значка в Dock, пока Terminal находится в фоне, если в этом профиле включён параметр "Visual bell" или подпрыгивание в Dock.
  • Другие терминалы: ничего.

Чтобы Claude Code отправлял символ звонка независимо от терминала или профиля, установите preferredNotifChannel на "terminal_bell". В Apple Terminal также включите Audible bell в разделе Settings > Profiles > Advanced, чтобы его слышать. Следующая запись настроек задаёт канал:

{
  "preferredNotifChannel": "terminal_bell"
}

При подключении через SSH из терминала, запущенного вне tmux, установите preferredNotifChannel на значение вашего локального терминала — "iterm2", "kitty" или "ghostty" — на машине, где работает Claude Code. Тогда уведомление рабочего стола дойдёт до вашей локальной машины. Ghostty и Kitty перенаправляют его в центр уведомлений вашей ОС без дополнительной настройки. iTerm2 требует включения перенаправления:

1. Откройте параметры уведомлений iTerm2

Перейдите в Settings → Profiles → Terminal.

2. Включите оповещения

Установите флажок "Notification Center Alerts", затем нажмите "Filter Alerts" и включите "Send escape sequence-generated alerts".

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

Воспроизведение звука с помощью Notification hook

В любом терминале вы можете настроить Notification hook для воспроизведения звука или запуска пользовательской команды, когда Claude нуждается в вашем внимании. Hooks работают наряду со встроенным уведомлением, а не заменяют его, поэтому терминалы, которые не получают уведомление рабочего стола, такие как Warp или встроенный терминал VS Code, могут использовать hook или установить preferredNotifChannel на "terminal_bell" вместо этого.

Пример ниже воспроизводит системный звук на macOS. Связанное руководство содержит команды уведомлений рабочего стола для macOS, Linux и Windows.

{
  "hooks": {
    "Notification": [
      {
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
      }
    ]
  }
}

Просмотр статуса сессии в терминале

Если ваш терминал реализует протокол OSC 7501 Program Status Protocol, он может показывать, работает ли каждая интерактивная сессия Claude Code, ожидает ли она вас или завершила работу, что полезно, когда вы выполняете длительные задачи или несколько сессий одновременно. В Claude Code ничего включать не нужно. Чтобы узнать, реализует ли ваш терминал этот протокол и где он показывает статус, обратитесь к его документации.

Если терминал его реализует, но вы не видите статус сессии, проверьте каждую из следующих причин:

  • Версия Claude Code: для отображения статуса требуется Claude Code v2.1.295 или новее. Выполните claude --version в оболочке, чтобы проверить.
  • tmux: внутри tmux Claude Code проверяет поддержку у tmux, а не у вашего терминала, и allow-passthrough на это не влияет. Запустите сессию вне tmux.
  • Фоновая сессия: фоновая сессия не сообщает свой статус вашему терминалу, даже когда вы к ней подключены. Вместо этого её статус отображается в представлении агентов.
  • CLAUDE_CODE_DISABLE_TERMINAL_TITLE: если вы установили эту переменную в 1, Claude Code не проверяет поддержку и не сообщает статус. Удалите её.

В терминале, который сообщает о поддержке протокола, заголовок вкладки не начинается с глифа статуса. Терминал сам показывает состояние сессии, поэтому Claude Code не добавляет глиф, который в других терминалах ставит перед заголовком.

Настройка tmux

Когда Claude Code работает внутри tmux, по умолчанию Shift+Enter отправляет вместо вставки новой строки, а уведомления рабочего стола не достигают внешнего терминала. Добавьте эти строки в ~/.tmux.conf, затем запустите tmux source-file ~/.tmux.conf, чтобы применить их к работающему серверу:

set -g allow-passthrough on
set -g focus-events on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'

Чтобы отправлять уведомления из видимой панели во внешний терминал, оставьте строку allow-passthrough и задайте для preferredNotifChannel значение "iterm2", "kitty" или "ghostty". С этим примером панель в окне, которое вы не просматриваете, не отправляет уведомлений. Строки extended-keys позволяют tmux различать Shift+Enter и простой Enter, чтобы сочетание клавиш для новой строки работало.

Элементу Image мода нужны строки allow-passthrough и focus-events, а также выполнение остальных требований для отрисовки внутри tmux. После добавления строк также отключитесь от tmux, подключитесь снова и перезапустите Claude Code.

Исправление удаления целого слова при нажатии Backspace на Windows

На Windows Claude Code читает Backspace, поступающий как ^H, как Ctrl+Backspace, который удаляет предыдущее слово, за исключением случаев, когда TERM_PROGRAM имеет значение mintty или TERM имеет значение cygwin. На macOS и Linux Claude Code читает его как обычный Backspace.

Если каждое нажатие Backspace удаляет целое слово, ваш терминал отправляет ^H для обычного Backspace. Установите CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0. Backspace и Ctrl+H затем стирают по одному символу каждый. Если Ctrl+Backspace стирает только один символ на macOS или Linux, потому что ваш терминал отправляет ^H для него, установите переменную на 1 вместо этого.

Подберите цветовую тему

Используйте команду /theme или средство выбора темы в /config, чтобы выбрать тему Claude Code, которая соответствует вашему терминалу. Выбор опции auto автоматически определяет светлый или тёмный фон вашего терминала, поэтому тема следует изменениям внешнего вида ОС всякий раз, когда это делает ваш терминал. Claude Code не контролирует собственную цветовую схему терминала, которая устанавливается приложением терминала.

Чтобы настроить, что отображается в нижней части интерфейса, настройте пользовательскую строку состояния, которая показывает текущую модель, рабочий каталог, ветку git или другой контекст.

Создайте пользовательскую тему

Помимо встроенных предустановок, /theme отображает все определённые вами пользовательские темы и любые темы, предоставленные установленными plugins. Выберите New custom theme… в конце списка, чтобы создать её интерактивно: вы назовёте тему, а затем выберете отдельные цветовые токены для переопределения. Нажмите Ctrl+E, пока выделена пользовательская тема, чтобы отредактировать её.

Каждая пользовательская тема — это JSON-файл в ~/.claude/themes/. Имя файла без расширения .json — это слаг темы, а выбор темы сохраняет custom:<slug> как ваше предпочтение темы. Файл имеет три необязательных поля:

Поле Тип Описание
name string Метка отображения, показываемая в /theme. По умолчанию используется слаг имени файла
base string Встроенная предустановка, с которой начинается тема: dark, light, dark-daltonized, light-daltonized, dark-ansi или light-ansi. По умолчанию dark
overrides object Карта имён цветовых токенов на значения цветов. Токены, не указанные здесь, переходят к базовой предустановке

Значения цветов принимают #rrggbb, #rgb, rgb(r,g,b), ansi256(n) или ansi:<name>, где <name> — одно из 16 стандартных имён цветов ANSI, таких как red или cyanBright. Неизвестные токены и недопустимые значения цветов игнорируются, поэтому опечатка не может нарушить отрисовку.

Следующий пример определяет тему, которая сохраняет тёмную предустановку, но перекрашивает акцент приглашения, текст ошибки и текст успеха:

{
  "name": "Dracula",
  "base": "dark",
  "overrides": {
    "claude": "#bd93f9",
    "error": "#ff5555",
    "success": "#50fa7b"
  }
}

Claude Code отслеживает ~/.claude/themes/ и перезагружается при добавлении или изменении файла, поэтому изменения, внесённые в вашем редакторе, применяются к работающему сеансу без перезагрузки. Если папка ~/.claude/themes/ не существовала при запуске Claude Code, перезагрузитесь один раз после создания первого файла темы. После этого изменения применяются без перезагрузки.

Справочник ниже охватывает токены, которые вы можете установить в overrides. Интерактивный редактор в /theme показывает те же токены с живым предпросмотром, плюс несколько специализированных акцентов, таких как цвета экрана адаптации, которые здесь опущены.

[accordion] Справочник цветовых токенов

Следующий пример объединяет токены из нескольких групп ниже: фирменный акцент, границу режима плана, фоны diff и фон сообщения.

{
  "name": "Midnight",
  "base": "dark",
  "overrides": {
    "claude": "#a78bfa",
    "planMode": "#38bdf8",
    "diffAdded": "#14532d",
    "diffRemoved": "#7f1d1d",
    "userMessageBackground": "#1e1b4b"
  }
}

Цвета текста и акцентов

Управляйте основным фирменным акцентом и оттенками переднего плана текста, используемыми во всём интерфейсе.

Токен Управляет
claude Основной фирменный акцент, используемый для спиннера и метки помощника
text Текст переднего плана по умолчанию
inverseText Текст, нарисованный поверх цветного фона, такой как значки статуса
inactive Вторичный текст, такой как подсказки, временные метки и отключённые элементы
subtle Слабые границы и приглушённый вторичный текст
suggestion Предложения автодополнения и выделение выбора в средствах выбора
permission Границы диалога, включая запросы разрешений и средства выбора
remember Индикаторы памяти и CLAUDE.md

Цвета статуса

Сигнализируйте об успехе, отказе и состояниях предупреждения в сообщениях и индикаторах.

Токен Управляет
success Сообщения об успехе и прошедшие проверки
error Сообщения об ошибках и отказы
warning Предупреждения, сообщения о предостережении и индикатор режима auto
merged Статус объединённого запроса на слияние

Поле ввода и индикаторы режима

Установите цвет границы поля ввода и акцент, отображаемый при активном режиме разрешения или индикаторе.

Токен Управляет
promptBorder Граница поля ввода
planMode Акцент режима Plan mode, сообщения режима плана и диалоги режима плана
autoAccept Акцент режима Accept-edits
bashBorder Граница поля ввода при вводе команды оболочки !
ide Индикатор подключения IDE
fastMode Индикатор режима Fast mode
effortUltra Тег ultracode на границе поля ввода, пока ultracode включён. Ваше переопределение этого цвета вступает в силу в Claude Code v2.1.239 или позже

Отрисовка diff

Раскрасьте добавленный и удалённый код в правках и рецензиях файлов.

Токен Управляет
diffAdded Фон добавленных строк
diffRemoved Фон удалённых строк
diffAddedDimmed Фон добавленных строк в приглушённом diff, показываемом после отклонения правки
diffRemovedDimmed Фон удалённых строк в приглушённом diff, показываемом после отклонения правки
diffAddedWord Выделение на уровне слова в добавленной строке
diffRemovedWord Выделение на уровне слова в удалённой строке

Полноэкранный режим

Claude Code использует userMessageBackgroundHover, selectionBg и composerSidebarBackground только в режиме полноэкранной отрисовки. userMessageBackground, bashMessageBackgroundColor и memoryBackgroundColor он рисует как в средстве отрисовки по умолчанию, так и в полноэкранном.

Токен Управляет
userMessageBackground Фон позади ваших сообщений в стенограмме
userMessageBackgroundHover Фон позади сообщения при наведении или развёртывании
bashMessageBackgroundColor Фон позади записей команд оболочки ! в стенограмме
memoryBackgroundColor Фон позади записей памяти # в стенограмме
selectionBg Фон текста, выбранного мышью
composerSidebarBackground Фон панели рядом с диалогом, например панели diff или панели мода

Счётчик использования и метки динамика

Отрегулируйте полосу, показываемую в представлении /usage, и метки, которые отличают ваши сообщения от сообщений Claude.

Токен Управляет
rate_limit_fill Заполненная часть счётчика использования
rate_limit_empty Незаполненная часть счётчика использования
briefLabelYou Цвет метки You на ваших сообщениях
briefLabelClaude Цвет метки Claude на сообщениях помощника

Варианты shimmer и цвета подагентов

Несколько токенов имеют парный вариант shimmer, который предоставляет более светлый цвет, используемый в анимированном градиенте спиннера. Переопределите shimmer вместе с его базовым токеном, если анимация выглядит несовместимой.

  • claude и claudeShimmer
  • warning и warningShimmer
  • permission и permissionShimmer
  • promptBorder и promptBorderShimmer
  • inactive и inactiveShimmer
  • fastMode и fastModeShimmer

Каждый subagent и параллельная задача отображаются в одном из восьми именованных цветов, чтобы вы могли отличить их в стенограмме. Имена токенов следуют шаблону <color>_FOR_SUBAGENTS_ONLY, где <color> — это red, blue, green, yellow, purple, orange, pink или cyan. Переопределите их, чтобы изменить внешний вид каждого именованного цвета. Например, подагент с color: blue в его определении отрисовывается с использованием значения blue_FOR_SUBAGENTS_ONLY.

Когда ultrathink может повысить уровень усилий для хода, Claude Code отрисовывает это слово в поле ввода промпта семицветным радужным градиентом. Имена токенов следуют шаблону rainbow_<color> и rainbow_<color>_shimmer, где <color> — это red, orange, yellow, green, blue, indigo или violet.

Переключение на полноэкранный рендеринг

В режиме чтения с экрана этот раздел не применяется. Claude Code всегда отображается как обычный прокручиваемый текст, кроме присоединённых фоновых сеансов, и если вы запустите /tui fullscreen в любом другом сеансе, Claude Code выведет объяснение вместо переключения.

Если дисплей мерцает или позиция прокрутки прыгает во время работы Claude, переключитесь на режим полноэкранного рендеринга. В этом режиме вы прокручиваете с помощью мыши или PageUp внутри Claude Code, а не с помощью встроенной прокрутки вашего терминала; см. страницу полноэкранного режима для получения информации о поиске и копировании.

Если мерцание — единственная проблема и ваш терминал поддерживает синхронизированный вывод, но не определяется автоматически, например Emacs eat, установите CLAUDE_CODE_FORCE_SYNC_OUTPUT=1, чтобы остановить мерцание без изменения рендеров.

Запустите /tui fullscreen для переключения и сохранения предпочтения. Ваш разговор перезапустится в целости и сохранности, и будущие сеансы начнутся в полноэкранном режиме, если только полноэкранный запуск не завершится ошибкой. Вы также можете установить переменную окружения CLAUDE_CODE_NO_FLICKER перед запуском Claude Code:

CLAUDE_CODE_NO_FLICKER=1 claude
$env:CLAUDE_CODE_NO_FLICKER = "1"; claude
{
  "env": {
    "CLAUDE_CODE_NO_FLICKER": "1"
  }
}

Ограничить ширину ответа в широких терминалах

В широком терминале каждая строка текста в ответах Claude занимает всю ширину окна. Чтобы вместо этого переносить текст на установленное количество столбцов, установите maxProseWidth в ваших настройках.

Вставка большого содержимого

Когда вы вставляете более 800 символов или более трёх строк в подсказку, Claude Code сворачивает ввод в заполнитель, например [Pasted text #1 +120 lines], чтобы поле ввода оставалось удобным для использования, и по-прежнему отправляет полное содержимое при отправке. Для очень больших входных данных, таких как целые файлы или длинные журналы, запишите содержимое в файл и попросите Claude прочитать его вместо вставки. Стенограмма разговора остаётся читаемой, и Claude может ссылаться на файл по пути в более поздних ходах. Интегрированный терминал VS Code также может отбросить символы из очень больших вставок, прежде чем они достигнут Claude Code, поэтому используйте там файл.

Если вставка содержит невидимые символы Unicode, Claude Code удаляет их при нажатии Enter и возвращает очищенную подсказку в поле ввода для отправки с помощью другого Enter.

Как Claude обрабатывает вставленный текст

При отправке Claude видит содержимое за каждым заполнителем [Pasted text #N], отмеченным как текст, который вы вставили откуда-то, а не напечатали. Claude сообщается, что вставка может содержать инструкции, которые вы не писали, и следовать инструкциям внутри неё только там, где сообщение, которое вы напечатали, это просит. В сеансах, которые не получают флаги функций, вставки не отмечаются.

Удаление и восстановление свёрнутой вставки

Когда вы удаляете с помощью сочетания клавиш для слова или строки, такого как Ctrl+W или Ctrl+K, или с помощью удаления vim через движение f/t, такое как df], и удаляемый диапазон достигает внутри заполнителя [Pasted text #N], Claude Code удаляет заполнитель целиком. Чтобы восстановить его, вставьте удаление обратно с помощью Ctrl+Y после сочетания клавиш для слова или строки, или с помощью p в режиме NORMAL после удаления vim.

Вызов подсказки с вставленным текстом

Claude Code хранит содержимое за каждым заполнителем [Pasted text #N] в ~/.claude/paste-cache/, поэтому когда вы вызываете подсказку из истории команд и повторно отправляете её, полное вставленное содержимое отправляется снова, включая в более позднем сеансе.

Файлы кэша старше cleanupPeriodDays удаляются в соответствии с правилами автоматической очистки, поэтому вызванный промпт может ссылаться на вставленный текст, который больше не существует. Когда вы отправляете такой промпт, Claude Code не отправляет буквальную строку [Pasted text #N] и показывает уведомление с названием отсутствующей вставки:

  • В простой подсказке с оставшимся текстом Claude Code удаляет заполнитель и отправляет оставшийся текст.
  • В команде режима shell или команде /, где удаление изменило бы то, что выполняется, и в любой подсказке, где удаление оставляет пусто, Claude Code отменяет отправку и сохраняет исходный текст в вводе с заполнителем, всё ещё находящимся в нём. Удалите заполнитель или отредактируйте команду, затем повторно отправьте.

Редактирование подсказок с сочетаниями клавиш Vim

Claude Code включает режим редактирования в стиле Vim для ввода подсказок. Включите его через /config → Editor mode или установив editorMode на "vim" в ~/.claude/settings.json. Установите Editor mode обратно на normal, чтобы отключить его.

Режим Vim поддерживает подмножество движений и операторов режимов NORMAL и VISUAL, таких как навигация hjkl, выделение v/V и d/c/y с текстовыми объектами. Полную таблицу клавиш см. в справочнике режима редактора Vim.

Движения Vim не переназначаются через файл сочетаний клавиш. Чтобы сопоставить двухклавишную последовательность режима INSERT, такую как jj, с Escape, установите vimInsertModeRemaps в параметрах пользователя.

Нажатие Enter по-прежнему отправляет вашу подсказку в режиме INSERT, в отличие от стандартного Vim. Используйте o или O в режиме NORMAL или Ctrl+J, чтобы вставить новую строку.

Связанные ресурсы