Существует ли способ привязки действия продолжения строки к определенной клавише в bash?
То есть, вместо нажатия двух клавиш \
и , введите , одну за другой, нажмите две клавиши одновременно, например Alt + Введите .
Вместо этого:
$ echo one \
Введите
> two \
Введите
Сделайте следующее:
$ echo one
, затем нажмите Alt + Enter = получить обратную косую черту и новую строку
> два
Alt + Enter - получить обратную косую черту и новую строку и т. Д.
Я смотрел readline привязки и не находит такого действия. Не могу сказать, что эта функциональность так нужна мне :), просто интересно.
Я нашел ответ в Вики Arch Linux - это можно сделать с помощью макросов:
bind '"\e\Cm":" \\\Cj" '
Привязывает необходимую функциональность к Alt+Enter или Alt+Ctrl+m комбинация.
Затем нужно было добавить эту строку в файл .bashrc
и эта привязка заработает после перезагрузки.
Чтобы просмотреть доступные макросы, запустите bind -s
:
$ bind -s
$ "\e\C-m": " \\\C-j"
Вы можете сделать что-то подобное с помощью команды привязки
bind '"\e[24~":"\\\n"'
Я использую F12
, потому что я не знаю, как связать C -^M я думаю, что невозможно ввести bcos, это C -M, но вы можете использовать:
bind '"\C-m":"\\\n"'