Как я могу вернуться и пролистать кавычки в Zsh?

Нажатие left или backspace ничего не делает в начале цитаты после того, как я нажимаю ввод после ввода ':

$ echo '                  
quote> 

Единственный способ, которым я знаю, чтобы отредактировать материал перед цитатой, это нажать на control c , но я не думаю, что это очень удобно.

1 ответ1

3

Вы хотите использовать виджет push-line-or-edit , затем вы можете отредактировать всю команду:

push-line-or-edit В приглашении верхнего уровня (PS1), эквивалентном push-line. При дополнительном приглашении (PS2) переместите всю текущую многострочную конструкцию в буфер редактора. Последнее эквивалентно push-input, за которым следует get-line.

Этот виджет не привязан ни к одному ключу по умолчанию, поэтому используйте

bindkey "^[q" push-line-or-edit

привязать его к ESC-q . (Эта комбинация клавиш привязана к push-line при использовании привязок клавиш emacs, поэтому, если вы используете push-line регулярно выбирайте другую комбинацию клавиш.)

Небольшая демонстрация (■ указывает на курсор):

$ bindkey "^[q" push-line-or-edit
$ echo ' [Enter]
[ quote ] ■ [ESC-q]
$ echo '
■ [up arrow]
$ ■echo '

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .