====== 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''.