Предполагая, что ваша оболочка - bash, и вы используете режим редактирования emacs ( set -o emacs
), это ответит на ваш вопрос в скобках и двойных кавычках .
Чтобы объяснить, что там происходит, вот тот, который работает для {}
:
bind '"{" "\C-v{}\e[D"'
Давайте прогуляемся по интерьеру '
. В первой паре у "
нас есть:
{
Это довольно просто, это просто означает заменить левую фигурную скобку следующим материалом.
Вторая пара "
начинается с:
\C-v{}
Здесь мы вставляем открывающую и закрывающую скобку. Нам нужны оба, потому что мы заменяем то, что было первоначально напечатано, а не добавляем к нему. \C-v
Это Control-vсимвол, который обозначает дословной вставки ( краткая история клавиш терминала ). Это позволяет нам вставлять {
без повторного запуска этой привязки. Наконец, мы имеем:
\e[D
Это просто код перехода для левой клавиши со стрелкой, поэтому он перемещает курсор между фигурными скобками.
set editing-mode vi
, это выводит меня из режима вставки после автозаполнения, что довольно раздражает.Лучший способ сделать это, если вы используете режим чтения read vi в bash:
источник
В итоге я сделал пять скриптов bash, как показано ниже:
Затем вы можете использовать xbindkeys для привязки "'[{(к каждому из этих пяти сценариев это работает довольно хорошо.
источник