Як залишити рядок виконання у zsh


7

У zsh, можливо, я натиснув Alt+Xпомилково, але зараз я застряг, і це execute: _підказка не залишиться.

Натискання Ctrl+Cнічого не робить, якщо я натискаю, Enterвоно намагається виконати те, що я ввів

Натискання Enterна порожній рядок:

execute: _
zsh: do you wish to see all 373 possibilities (64 lines)?

Введення qта натискання Enter:

execute: quote_
quoted-insert  quote-line     quote-region

В інших оболонках Alt+Xтака ж поведінка, за винятком того, що Ctrl+Cскасовує підказку.

Чи є спосіб вийти або ця шкаралупа мертва?


1
Ви впевнені, що отримаєте запит на показ усіх можливостей на Ctrl + C ? Зазвичай це має закрити підказку "Execute:". Я отримую це підказку тільки в Enter (на порожньому рядку) та Escape . Наскільки я можу побачити на сторінці сторінки, це також, здається, не піддається налаштування.
Адаефон

У мене є та ж проблема, і я маю зловісне відчуття, що я
наклав

@Sevenearths Ви встановили будь-який TRAP, який ви забули очистити? Ваш коментар нагадав мені, як я вирішив цю помилку (я думаю).
лолеск

Відповіді:


7

Ctrl+ gперериває поточну команду редагування в Bash і Zsh, якщо ви перебуваєте в режимі Emacs (зазвичай це режим за замовчуванням).


0

Ух, мені вдалося, спробувавши Ctrl +все, побачити поведінку.

Я натиснув Ctrl + S, емулятор терміналу сказав мені, що вихід заблокований, я натиснув, Ctrl + Qщоб увімкнути вихід, моє підказка повернулося до нормального.

Коли я Alt + Xзнову натискаю , у мене є та сама проблема, але якщо я виконую внутрішню команду zsh, вона це робить.

Це насправді поточний термінал / оболонка, який не отримує Ctrl + C, я не знаю чому.

Редагувати через деякий час після (жовтень 2017): Можливо, у мене виникла ця помилка через TRAP INTналаштування в моїй оболонці під час якоїсь функції та забула її видалити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.