====== Claude Code: vkládání nových řádků bez odeslání zprávy ======
//Vytvořeno: **8.6.2026** | Aktualizováno: **~~LASTMOD~~**//
Claude Code při práci v terminálu standardně odešle zprávu po stisku klávesy ''Enter''. Pokud je potřeba napsat delší prompt, příkaz nebo více oddělených odstavců, hodí se vědět, jak vložit nový řádek bez okamžitého odeslání zprávy.
===== Základní chování =====
Ve výchozím nastavení platí:
* ''Enter'' odešle zprávu.
* ''Shift+Enter'' se může chovat stejně jako ''Enter'' a zprávu také odeslat.
Na problém jsem narazil hlavně při použití Claude Code v integrovaném terminálu Visual Studio Code přes Remote SSH.
===== Standardní terminálový způsob =====
V terminálu pomáhá použít zpětné lomítko na konci řádku:
\
Prakticky to znamená, že se na konec rozepsaného řádku napíše ''\'' a potom se stiskne ''Enter''. Terminál pokračuje na dalším řádku bez běžného odeslání zprávy.
===== Klávesové zkratky v Claude Code =====
V Claude Code fungují pro vložení nového řádku tyto zkratky:
* ''Ctrl+J'' – vloží nový řádek v Claude Code.
* ''Alt+Enter'' – vloží nový řádek; funguje na Linuxu.
Tyto zkratky jsou nejjednodušší řešení, pokud není nutné používat přímo ''Shift+Enter''.
===== Shift+Enter ve Visual Studio Code =====
Ve Visual Studio Code může být problém v tom, že editor zachytí klávesovou zkratku lokálně a nepředá ji správně do integrovaného terminálu. Výsledkem je, že ''Shift+Enter'' v terminálu VS Code Remote SSH odešle zprávu místo vložení nového řádku v Claude Code.
Řešením je přidat vlastní keybinding, který při focusu terminálu pošle do terminálu správnou sekvenci.
==== Otevření keybindings.json ====
Ve Visual Studio Code:
- Stiskni ''Ctrl+Shift+P''.
- Vyhledej ''Preferences: Open Keyboard Shortcuts (JSON)''.
Soubor lze otevřít i přímo:
* Linux: ''~/.config/Code/User/keybindings.json''
* Windows: ''%APPDATA%\Code\User\keybindings.json''
==== Přidání keybindingu ====
Do souboru ''keybindings.json'' přidej tento objekt:
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "\u001b\r"
},
"when": "terminalFocus"
}
Pokud už soubor obsahuje jiné keybindingy v poli ''[]'', vlož nový objekt do pole a odděl ho čárkou od ostatních položek.
==== Restart VS Code ====
Po úpravě je vhodné Visual Studio Code úplně zavřít a znovu otevřít. Potom se znovu připojit přes SSH a vyzkoušet ''Shift+Enter'' v terminálu s Claude Code.
===== Co keybinding dělá =====
Sekvence ''\u001b\r'' posílá do terminálu ''ESC'' + ''Carriage Return''. Claude Code ji interpretuje jako vložení nového řádku místo odeslání zprávy.
Podmínka ''"when": "terminalFocus"'' zajistí, že se zkratka použije jen ve chvíli, kdy má focus integrovaný terminál. Neměla by tedy přepisovat chování ''Shift+Enter'' v běžném editoru souborů.
===== Shrnutí =====
Nejjednodušší možnosti pro nový řádek v Claude Code jsou:
* použít ''Ctrl+J'',
* použít ''Alt+Enter'' na Linuxu,
* použít ''\'' na konci řádku jako terminálový workaround,
* ve VS Code upravit ''keybindings.json'', pokud je potřeba zprovoznit přímo ''Shift+Enter''.