zsh как сделать возврат через кавычки

zsh как сделать возврат через кавычки

Как сделать возврат и перемещение по кавычкам в zsh?

Нажатие leftили backspaceне приводит к каким-либо действиям в начале цитаты после нажатия Enter после ввода ':

$ echo '                  
quote> 

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

решение1

Если вы хотите использовать 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" нажать-строку-или-изменить
$ эхо '[Входить]
[ цитата ] ■[ESC-q]
$ эхо '[стрелка вверх]
$ ■эхо '

Связанный контент