154 Что сохраняется между командами154 Что сохраняется между командами
155</h3>155</h3>
156 156
157* Когда Claude выполняет `cd` в основной сессии, новый рабочий каталог переносится на последующие команды Bash, пока он остаётся внутри каталога проекта или [дополнительного рабочего каталога](/docs/ru/permissions#working-directories), который вы добавили с помощью `--add-dir`, `/add-dir` или `additionalDirectories` в параметрах. Это включает команды, которые Claude выполняет в ответ на ваши последующие сообщения.157* Когда Claude выполняет `cd` в основной сессии, новый рабочий каталог переносится на более поздние команды Bash, пока он остаётся внутри каталога проекта или [дополнительного рабочего каталога](/docs/ru/permissions#working-directories), который вы добавили с помощью `--add-dir`, `/add-dir` или `additionalDirectories` в параметрах. Это включает команды, которые Claude выполняет в ответ на ваши более поздние сообщения.
158 * Сессии подагентов никогда не переносят изменения рабочего каталога.158 * Сессии подагентов никогда не переносят изменения рабочего каталога.
159 * Если `cd` приводит за пределы этих каталогов, Claude Code сбрасывает на каталог проекта и добавляет `Shell cwd was reset to <dir>` к результату инструмента.159 * Если `cd` приводит за пределы этих каталогов, Claude Code сбрасывает на каталог проекта и добавляет `Shell cwd was reset to <dir>` к результату инструмента.
160 * Чтобы отключить этот перенос, чтобы каждая команда Bash начиналась в каталоге проекта, установите `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.160 * Чтобы отключить этот перенос, чтобы каждая команда Bash начиналась в каталоге проекта, установите `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.
161* Переменные окружения не сохраняются. `export` в одной команде не будет доступен в следующей.161* Переменные окружения не сохраняются. `export` в одной команде не будет доступен в следующей.
162* Псевдонимы и функции оболочки, определённые в файле запуска оболочки, доступны. При запуске сессии Claude Code загружает `~/.zshrc`, `~/.bashrc` или `~/.profile` в зависимости от вашей оболочки, захватывает полученные псевдонимы, функции и параметры оболочки и применяет их к каждой команде Bash.162* Псевдонимы и функции оболочки, определённые в файле запуска оболочки, доступны. При запуске сессии Claude Code загружает `~/.zshrc`, `~/.bashrc` или `~/.profile` в зависимости от вашей оболочки, захватывает полученные псевдонимы, функции и параметры оболочки и применяет их к каждой команде Bash.
163 163
164Активируйте виртуальное окружение или окружение conda перед запуском Claude Code. Чтобы переменные окружения сохранялись между командами Bash, установите [`CLAUDE_ENV_FILE`](/docs/ru/env-vars) на скрипт оболочки перед запуском Claude Code или используйте [hook SessionStart](/docs/ru/hooks#persist-environment-variables) для его динамического заполнения.164Активируйте вашу virtualenv или conda окружение перед запуском Claude Code. Чтобы переменные окружения сохранялись между командами Bash, установите [`CLAUDE_ENV_FILE`](/docs/ru/env-vars) на скрипт оболочки перед запуском Claude Code или используйте [hook SessionStart](/docs/ru/hooks#persist-environment-variables) для его динамического заполнения.
165 165
166<h3 id="timeout-and-output-limits">166<h3 id="timeout-and-output-limits">
167 Ограничения по времени и выводу167 Ограничения по времени ожидания и выводу
168</h3>168</h3>
169 169
170Каждая команда выполняется с ограничением по времени, которым управляет Claude: когда ему требуется больше времени, чем по умолчанию для команды, он передаёт параметр `timeout` с этим вызовом. Вы никогда не устанавливаете ограничение по времени для отдельной команды.170Каждая команда выполняется с ограничением по времени, и Claude управляет им: когда ему требуется больше времени, чем по умолчанию для команды, он передаёт параметр `timeout` с этим вызовом. Вы никогда не устанавливаете ограничение по времени для отдельной команды.
171 171
172Две [переменные окружения](/docs/ru/env-vars) контролируют, что Claude получает для команды, которая выполняется на переднем плане:172Две [переменные окружения](/docs/ru/env-vars) контролируют, что Claude получает для команды, которая выполняется на переднем плане:
173 173
174* `BASH_DEFAULT_TIMEOUT_MS` — значение по умолчанию, когда Claude не передаёт timeout; две минуты из коробки174* `BASH_DEFAULT_TIMEOUT_MS` — значение по умолчанию, когда Claude не передаёт ограничение по времени; две минуты из коробки
175* `BASH_MAX_TIMEOUT_MS` — по умолчанию устанавливает потолок, который ограничивает всё, что запрашивает Claude: эффективный потолок — это больший из двух, десять минут из коробки175* `BASH_MAX_TIMEOUT_MS` — по умолчанию устанавливает потолок, который ограничивает всё, что запрашивает Claude: эффективный потолок — это больший из двух, десять минут из коробки
176 176
177Для команды, которую Claude запускает в фоне, `timeout` вместо этого устанавливает, как долго команда может работать там, с отдельным значением по умолчанию и максимумом, описанным в разделе [Фоновые команды](#background-commands). [Инструмент PowerShell](#powershell-tool) следует тем же правилам timeout и читает те же две переменные.177Для команды, которую Claude запускает в фоновом режиме, `timeout` вместо этого устанавливает, как долго команда может работать там, с отдельным значением по умолчанию и максимумом, описанным в разделе [Ограничение времени для фоновых команд](#time-limit-for-background-commands). Инструмент [PowerShell](#powershell-tool) следует тем же правилам ограничения по времени и читает те же две переменные.
178 178
179<h4 id="output-limits">179<h4 id="output-limits">
180 Ограничения по выводу180 Ограничения по выводу
181</h4>181</h4>
182 182
183Claude Code передаёт вывод команды в рабочий файл по мере выполнения команды; команда, вывод которой превышает 5 ГБ, прерывается. Когда команда завершается, Claude Code читает вывод обратно из этого файла, вплоть до окна обратного чтения, описанного ниже. Сколько вывода достигает Claude встроенно, зависит от того, рассматривает ли Claude Code результат как ошибку:183Claude Code передаёт вывод команды в рабочий файл по мере выполнения команды; команда, выход которой превышает 5 ГБ, прерывается. Когда команда завершается, Claude Code читает вывод обратно из этого файла, вплоть до окна обратного чтения, описанного ниже. Сколько вывода достигает Claude встроенно, зависит от того, рассматривает ли Claude Code результат как ошибку:
184 184
185| Результат | Что получает Claude |185| Результат | Что получает Claude |
186| :- | :- |186| :- | :- |
187| Успешный | Встроенно до примерно 30 000 символов по умолчанию; сверх этого, путь файла, сохранённого в каталог сессии и усечённого сверх 64 МиБ, плюс предпросмотр до первых 2 000 символов, и Claude читает или ищет файл, когда ему нужен остаток |187| Действительный | Встроенно до примерно 30 000 символов по умолчанию; после этого путь файла, сохранённого в каталог сессии и усечённого после 64 МиБ, плюс предпросмотр до первых 2 000 символов, и Claude читает или ищет файл, когда ему нужен остаток |
188| Ошибка | Встроенно до примерно 10 000 символов; сверх этого, выдержка начала и конца этого размера, вырезанная из окна обратного чтения, без пути файла |188| Ошибка | Встроенно до примерно 10 000 символов; после этого выдержка начала и конца этого размера, вырезанная из окна обратного чтения, без пути файла |
189 189
190Команда, которая выходит с кодом 1, считается успешным результатом для инструмента Bash только когда Claude Code распознаёт код выхода 1 как благоприятный результат для этой команды: `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test` и `[`, плюс `git diff` и `git grep`. Каждая другая команда, которая выходит с кодом 1, считается ошибкой, даже когда код выхода 1 — это благоприятный информационный результат: нет совпадений для `pgrep` и `jq -e`, файлы, которые отличаются для `cmp`.190Команда, которая выходит с кодом 1, считается действительным результатом для инструмента Bash только когда Claude Code распознаёт код выхода 1 как благоприятный результат для этой команды: `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test` и `[`, плюс `git diff` и `git grep`. Каждая другая команда, которая выходит с кодом 1, считается ошибкой, даже когда код выхода 1 — это благоприятный информационный результат: нет совпадений для `pgrep` и `jq -e`, файлы, которые отличаются для `cmp`.
191 191
192[`BASH_MAX_OUTPUT_LENGTH`](/docs/ru/env-vars) устанавливает, сколько символов вывода Claude Code читает обратно из рабочего файла в результат команды: 30 000 по умолчанию, вплоть до жёсткого потолка в 150 000. Увеличьте его, когда ваши команды регулярно переполняют это окно, например подробная сборка или полный журнал набора тестов. Увеличение его расширяет окно обратного чтения, которое также является окном, из которого вырезается выдержка команды с ошибкой. Оно не повышает встроенные потолки: успешный результат сверх встроенного потолка поступает как путь файла плюс предпросмотр независимо от этой переменной.192[`BASH_MAX_OUTPUT_LENGTH`](/docs/ru/env-vars) устанавливает, сколько символов вывода Claude Code читает обратно из рабочего файла в результат команды: 30 000 по умолчанию, вплоть до жёсткого потолка в 150 000. Увеличьте его, когда ваши команды регулярно переполняют это окно, например подробная сборка или полный журнал набора тестов. Увеличение его расширяет окно обратного чтения, которое также является окном, из которого вырезается выдержка команды с ошибкой. Это не повышает встроенные потолки: действительный результат выше встроенного потолка поступает как путь файла плюс предпросмотр независимо от этой переменной.
193 193
194Чтобы изменить, сколько успешного результата Claude получает встроенно, установите параметр [`bashOutputMaxChars`](/docs/ru/settings-reference#bashoutputmaxchars) вместо этого, вплоть до 128 000 символов. Он размеры встроенный потолок и окно обратного чтения вместе, и Claude Code затем игнорирует `BASH_MAX_OUTPUT_LENGTH`. Требует Claude Code v2.1.261 или позже.194Чтобы изменить, сколько действительного результата Claude получает встроенно, установите параметр [`bashOutputMaxChars`](/docs/ru/settings-reference#bashoutputmaxchars) вместо этого, вплоть до 128 000 символов. Он размеры встроенный потолок и окно обратного чтения вместе, и Claude Code затем игнорирует `BASH_MAX_OUTPUT_LENGTH`. Требует Claude Code v2.1.261 или позже.
195 195
196<h3 id="background-commands">196<h3 id="background-commands">
197 Фоновые команды197 Фоновые команды
198</h3>198</h3>
199 199
200Для долгоживущих процессов, таких как серверы разработки или сборки с отслеживанием, Claude может установить `run_in_background: true` для запуска команды как фоновой задачи и продолжения работы во время её выполнения. Перечислите и остановите фоновые задачи с помощью `/tasks`. После того как вы остановите одну там или из подключённого клиента, такого как приложение для рабочего стола, Claude продолжает работу вместо ожидания. Если подагент запустил команду, это подагент, который продолжает работу.200Для долгоживущих процессов, таких как серверы разработки или сборки наблюдения, Claude может установить `run_in_background: true` для запуска команды как фоновой задачи и продолжения работы во время её выполнения. Перечислите и остановите фоновые задачи с помощью `/tasks`. После того как вы остановите одну там или из подключённого клиента, такого как настольное приложение, Claude переходит дальше вместо ожидания. Если подагент запустил команду, это подагент, который переходит дальше.
201 201
202Команда, которую [подагент переднего плана](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) запустил, останавливается, когда запуск этого подагента заканчивается, независимо от того, завершился ли он, произошла ошибка или был прерван. Команда, которую основной разговор или фоновый подагент запустил, продолжает работать после окончательного ответа, пока она не выйдет, не будет остановлена или не достигнет своего временного ограничения. В неинтерактивном режиме с флагом `-p` [фоновые команды заканчиваются вскоре после окончательного результата запуска](/docs/ru/headless#background-tasks-at-exit).202<h4 id="when-a-background-command-stops">
203 Когда фоновая команда останавливается
204</h4>
205
206Команда, которую запустил [подагент переднего плана](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), останавливается, когда заканчивается запуск этого подагента, независимо от того, завершился ли он, не удался или был прерван. Команда, которую запустили основной разговор или фоновый подагент, продолжает работать после финального ответа, пока она не выйдет, не будет остановлена или не достигнет своего [ограничения по времени](#time-limit-for-background-commands). В неинтерактивном режиме с флагом `-p` [фоновые команды заканчиваются вскоре после финального результата запуска](/docs/ru/headless#background-tasks-at-exit).
207
208<h4 id="time-limit-for-background-commands">
209 Ограничение времени для фоновых команд
210</h4>
203 211
204Фоновые команды Bash и PowerShell имеют временное ограничение, отсчитываемое с момента входа команды в фон:212Фоновые команды Bash и PowerShell имеют ограничение по времени, отсчитываемое с момента входа команды в фоновый режим:
205 213
206* Команда, которую Claude запускает в фоне, получает 30 минут или `timeout`, который Claude передаёт с `run_in_background`, вплоть до максимума в 2 часа214* Команда, которую Claude запускает в фоновом режиме, получает 30 минут или `timeout`, который Claude передаёт с `run_in_background`, вплоть до максимума в 2 часа
207* Команда, которая начинается на переднем плане и затем переходит в фон, например с помощью `Ctrl+B` или при её timeout, получает 30 минут с момента перехода215* Команда, которая начинается на переднем плане и затем переходит в фоновый режим, например с помощью `Ctrl+B` или при её ограничении по времени, получает 30 минут с момента перехода
216
217Когда фоновая команда достигает своего ограничения по времени, Claude Code останавливает её и сообщает Claude, почему, и Claude может запустить команду снова с более длительным `timeout`, если работа всё ещё нужна. Уведомление об остановке гласит `Background command "<description>" was stopped after reaching its background time limit`.
218
219<h4 id="raise-the-time-limit-for-background-commands">
220 Повысьте ограничение времени для фоновых команд
221</h4>
208 222
209Две [переменные окружения](/docs/ru/env-vars) повышают эти ограничения для команд Bash и PowerShell одинаково. Обе принимают миллисекунды, и ни одна не может сократить ограничение: более низкое значение оставляет 30-минутное значение по умолчанию и 2-часовой максимум на месте.223Две [переменные окружения](/docs/ru/env-vars) повышают эти ограничения для команд Bash и PowerShell одинаково. Обе принимают миллисекунды, и ни одна не может сократить ограничение: более низкое значение оставляет 30-минутное значение по умолчанию и 2-часовой максимум на месте.
210 224
211* Установите `BASH_DEFAULT_TIMEOUT_MS` выше `1800000`, чтобы заменить 30-минутное значение по умолчанию этим значением, как для команд, которые Claude запускает без `timeout`, так и для перемещённых команд225* Установите `BASH_DEFAULT_TIMEOUT_MS` выше `1800000`, чтобы заменить 30-минутное значение по умолчанию этим значением, как для команд, которые Claude запускает без `timeout`, так и для перемещённых команд
212* Установите `BASH_MAX_TIMEOUT_MS` выше `7200000`, чтобы повысить 2-часовой максимум до этого значения. Установка `BASH_DEFAULT_TIMEOUT_MS` выше `7200000` повышает максимум таким же образом226* Установите `BASH_MAX_TIMEOUT_MS` выше `7200000`, чтобы повысить 2-часовой максимум до этого значения. Установка `BASH_DEFAULT_TIMEOUT_MS` выше `7200000` повышает максимум таким же образом
213 227
214Когда фоновая команда достигает своего временного ограничения, Claude Code останавливает её и сообщает Claude, почему, и Claude может запустить команду снова с более длительным `timeout`, если работа всё ещё нужна. Уведомление об остановке гласит `Background command "<description>" was stopped after reaching its background time limit`.228<h4 id="foreground-commands-that-move-to-the-background">
229 Команды переднего плана, которые переходят в фоновый режим
230</h4>
215 231
216Когда команда переднего плана достигает своего timeout без завершения, Claude Code перемещает её в фон вместо остановки, если только команда не начинается с `sleep`. Временное ограничение перемещённой команды отсчитывается с момента перемещения, и перемещённая команда подагента переднего плана всё ещё останавливается, когда запуск этого подагента заканчивается.232Когда команда переднего плана достигает своего ограничения по времени без завершения, Claude Code переводит её в фоновый режим вместо остановки, если только команда не начинается с `sleep`. Перемещённая команда имеет [ограничение по времени](#time-limit-for-background-commands), отсчитываемое с момента перемещения, и перемещённая команда подагента переднего плана всё ещё останавливается, когда заканчивается запуск этого подагента.
217 233
218Установка [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/ru/env-vars#variables) отключает автоматическое перемещение в фон вместе с остальной функциональностью фоновых задач.234Установка [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/ru/env-vars#variables) отключает автоматическое фоновое выполнение вместе с остальной функциональностью фоновых задач.
219 235
220Результат команды, перемещённой в фон, указывает, что произошло:236Результат команды, перемещённой в фоновый режим, указывает, что произошло:
221 237
222* Когда timeout запускает перемещение, результат сообщает об этом явно: `Command did not complete within its 120s timeout and was moved to the background`, с секундами, соответствующими применённому timeout, за которым следует ID задачи и путь файла, в который записывается вывод.238* Когда ограничение по времени запускает перемещение, результат сообщает об этом явно: `Command did not complete within its 120s timeout and was moved to the background`, с секундами, соответствующими применённому ограничению по времени, за которым следует ID задачи и путь файла, в который записывается вывод.
223* `cd`, `pushd`, `popd` или `chdir` внутри команды, которая перемещается в фон, никогда не переносится: результат гласит `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.`, поэтому Claude не действует на изменение каталога, которое не произошло.239* `cd`, `pushd`, `popd` или `chdir` внутри команды, которая перемещается в фоновый режим, никогда не переносится: результат гласит `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.`, поэтому Claude не действует на изменение каталога, которое не произошло.
224 240
225<h3 id="memory-limit-on-linux-and-wsl">241<h3 id="memory-limit-on-linux-and-wsl">
226 Ограничение памяти на Linux и WSL242 Ограничение памяти на Linux и WSL
227</h3>243</h3>
228 244
229На Linux и WSL установите [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/ru/env-vars#variables) на размер, такой как `4G`, чтобы ограничить память, которую могут использовать команды Bash, PowerShell и [Monitor](#monitor-tool), чтобы одна неконтролируемая сборка не заняла память, которая нужна остальной сессии. Требует Claude Code v2.1.233 или позже. До v2.1.246 команды Monitor работали вне ограничения.245На Linux и WSL установите [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/ru/env-vars#variables) на размер, такой как `4G`, чтобы ограничить память, которую могут использовать команды Bash, PowerShell и инструмента [Monitor](#monitor-tool), чтобы одна неконтролируемая сборка не могла занять память, которая нужна остальной сессии. Требует Claude Code v2.1.233 или позже. До v2.1.246 команды инструмента Monitor выполнялись вне ограничения.
230 246
231* Напишите размер как количество байтов или с суффиксом `K`, `M`, `G` или `T`. Установите `0`, `off`, `false`, `no` или `none`, чтобы отключить ограничение. Claude Code игнорирует любое другое значение, которое не может прочитать как размер, например `4e9`.247* Напишите размер как количество байтов или с суффиксом `K`, `M`, `G` или `T`. Установите `0`, `off`, `false`, `no` или `none`, чтобы отключить ограничение. Claude Code игнорирует любое другое значение, которое он не может прочитать как размер, например `4e9`.
232* Claude Code считает все команды Bash, PowerShell и Monitor сессии по одному ограничению, а не каждую команду отдельно.248* Claude Code считает все команды Bash, PowerShell и Monitor сессии по одному ограничению, а не каждую команду отдельно.
233* Claude Code применяет ограничение с помощью cgroup памяти. Когда он не может установить cgroup, команды выполняются без ограничения, и журнал отладки из `claude --debug` говорит, почему.249* Claude Code применяет ограничение с помощью cgroup памяти. Когда он не может установить cgroup, команды выполняются без ограничения, и журнал отладки из `claude --debug` говорит, почему.
234* После того как первый процесс, который Claude Code запускает, включил ограничение или отключил его из-за значения off или неудачной установки cgroup, Claude Code удерживает этот результат, пока вы не перезапустите. Чтобы применить изменённое или удалённое значение или исправленную установку, запустите `claude` снова.250* После того как первый процесс, который Claude Code запускает, включил ограничение или отключил его из-за значения off или неудачной установки cgroup, Claude Code удерживает этот результат, пока вы не перезапустите. Чтобы применить изменённое или удалённое значение или исправленную установку, запустите `claude` снова.
235* Когда команды не могут оставаться под ограничением, ядро убивает команду, и ничто в её результате не называет ограничение.251* Когда команды не могут оставаться под ограничением, ядро убивает команду, и ничто в её результате не называет ограничение.
236 252
237Claude Code также может считать другие виды процессов, которые он запускает, по тому же ограничению. Установите [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/ru/env-vars#variables) на список видов, разделённый запятыми, которые нужно исключить из ограничения; Claude Code применяет ограничение к каждому виду, который не в вашем списке. Установите его на `none`, чтобы ограничить каждый вид, или на `all-new`, чтобы ограничить только команды Bash, PowerShell и Monitor. Требует Claude Code v2.1.246 или позже. Виды, которые вы можете назвать:253Claude Code также может считать другие виды процессов, которые он запускает, по тому же ограничению. Установите [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/ru/env-vars#variables) на список видов, разделённый запятыми, которые нужно исключить из ограничения; Claude Code применяет ограничение к каждому виду, который не в вашем списке. Установите его на `none`, чтобы ограничить каждый вид, или на `all-new`, чтобы ограничить только команды Bash, PowerShell и Monitor инструмента. Требует Claude Code v2.1.246 или позже. Виды, которые вы можете назвать:
238 254
239* `mcp`: локальные [серверы MCP](/docs/ru/mcp)255* `mcp`: локальные [серверы MCP](/docs/ru/mcp)
240* `lsp`: [языковые серверы](#lsp-tool-behavior)256* `lsp`: [языковые серверы](#lsp-tool-behavior)
245 261
246Что бы вы ни указали, применяются эти правила:262Что бы вы ни указали, применяются эти правила:
247 263
248* **Неизвестные имена**: Claude Code игнорирует имена, которые не распознаёт264* **Неизвестные имена**: Claude Code игнорирует имена, которые он не распознаёт
249* **Bash, PowerShell и Monitor**: Claude Code держит команды Bash, PowerShell и Monitor под ограничением, что бы вы ни указали265* **Bash, PowerShell и Monitor**: Claude Code держит команды Bash, PowerShell и Monitor инструмента под ограничением, что бы вы ни указали
250* **Переменная не установлена**: Claude Code берёт набор других видов с ограничением из конфигурации, которую Anthropic доставляет с сервера, и этот набор может меняться со временем, поэтому установите переменную, когда вам нужен набор, который не меняется266* **Переменная не установлена**: Claude Code берёт набор других ограниченных видов из конфигурации, которую Anthropic доставляет с сервера, и этот набор может меняться со временем, поэтому установите переменную, когда вам нужен набор, который не меняется
251* **Hooks с ограничением разрешений**: даже со всеми видами с ограничением, Claude Code исключает из ограничения hook, который может заблокировать или изменить результат действия, и любой сервер MCP, который такой hook вызывает, поэтому ядро, убивающее hook с ограничением разрешений, не может разрешить действие, которое он блокировал267* **Hooks с ограничением разрешений**: даже со всеми видами ограниченными, Claude Code исключает из ограничения hook, который может заблокировать или изменить результат действия, и любой сервер MCP, который такой hook вызывает, поэтому ядро, убивающее hook с ограничением разрешений, не может разрешить действие, которое он блокировал
252 268
253<h2 id="edit-tool-behavior">269<h2 id="edit-tool-behavior">
254 Поведение инструмента Edit270 Поведение инструмента Edit