Ярлык для действия продолжения строки (экранированный символ новой строки)

Существует ли способ привязки действия продолжения строки к определенной клавише в bash?

То есть, вместо нажатия двух клавиш \ и , введите , одну за другой, нажмите две клавиши одновременно, например Alt + Введите .

Вместо этого:
$ echo one \ Введите
> two \ Введите

Сделайте следующее:
$ echo one , затем нажмите Alt + Enter = получить обратную косую черту и новую строку
> два Alt + Enter - получить обратную косую черту и новую строку и т. Д.

Я смотрел readline привязки и не находит такого действия. Не могу сказать, что эта функциональность так нужна мне :), просто интересно.

0
09.06.2017, 15:13
2 ответа

Я нашел ответ в Вики Arch Linux - это можно сделать с помощью макросов:

bind '"\e\Cm":" \\\Cj" '

Привязывает необходимую функциональность к Alt+Enter или Alt+Ctrl+m комбинация.

Затем нужно было добавить эту строку в файл .bashrc и эта привязка заработает после перезагрузки.

Чтобы просмотреть доступные макросы, запустите bind -s:

$ bind -s
$ "\e\C-m": " \\\C-j"
0
28.01.2020, 02:45

Вы можете сделать что-то подобное с помощью команды привязки

bind '"\e[24~":"\\\n"'

Я использую F12, потому что я не знаю, как связать C -^M я думаю, что невозможно ввести bcos, это C -M, но вы можете использовать:

bind '"\C-m":"\\\n"'
1
28.01.2020, 02:45

Теги

Похожие вопросы