Настройки .inputrc: комбинации клавиш delete-char и [] не работают

1904
tanascius

Я использую Mingw под Windows. Когда я использую ruby ​​(irb), мои «специальные» символы, такие как [] {} и \, не работают. Это из-за моей немецкой клавиатуры, где эти клавиши используются вместе с AltGr (Alt + Ctrl). Я нашел решение для этого здесь или здесь .

Теперь, когда я добавляю строку

"\M-[": "[" 

в моем файле .inputrc ключ удаления больше не работает. Определяется как обычно:

"\e[3~": delete-char 

Нажатие удаления просто возвращает [3, а Ctrl + v, удаление возвращает, ^[[3~как ожидалось.

Каким-то образом эти два определения в .inputrc не работают вместе. Есть идеи?

РЕДАКТИРОВАТЬ: не
работает только ключ удаления, все мои другие привязки работают, как:

"\e[1~": beginning-of-line # home (ok) "\e[2~": paste-from-clipboard # insert (ok) "\e[3~": delete-char # delete (PROBLEM) "\e[4~": end-of-line # end (ok) "\e[5~": history-search-backward # pageup (ok) "\e[6~": history-search-forward # pagedown (ok) 
0

3 ответа на вопрос

1
gordy

DEL: delete-char

Должно работать на вас.

0
Mircea Vutcovici

\ M- [означает META- [что может быть сделано с помощью ALT- [или ESC, [\ e [означает ESC, [но это было только что переопределено ранее

Но все, кроме ключа удаления, по-прежнему работает - так же, как и ключ вставки, `` \ e [2 ~ ": ...` tanascius 14 лет назад 0
0
tanascius

Решением было ввести условную конструкцию init :

$if ruby "\M-[": "[" "\M-]": "]" "\M-{": "{" "\M-}": "}" "\M-\\": "\\" "\M-|": "|" "\M-@": "@" "\M-~": "~" $else "\e[1~": beginning-of-line # home "\e[2~": paste-from-clipboard # insert "\e[3~": delete-char # delete "\e[4~": end-of-line # end "\e[5~": history-search-backward # pageup "\e[6~": history-search-forward # pagedown $endif 

Но оригинальный вопрос: что здесь происходит, все еще существует :)