xterm-235-alt1 I expect (in bash) Ctrl-Left/Right to jump over words, Alt-Backspace to delete the word to the left. aterm does this, xterm doesn't. Steps to Reproduce: 1.start xterm 2.type "aaaa bbbb cccc" 3. Press Ctrl-Left 4. Press Alt-BkSp Actual Results: 3. aaaa bbbb cccc5D (and a beep) 4. aaaa bbbb cccc5 Expected Results: As in aterm-1.0.1-alt2: 3. (the cursor moved one word left) 4. aaaa cccc
One part of this bug is also valid for gnome-terminal -- https://bugzilla.altlinux.org/show_bug.cgi?id=15629 .
One part of this bug (Ctrl-arrows) is also valid for konsole from KDE3 -- https://bugzilla.altlinux.org/show_bug.cgi?id=15630 .
Ctrl-Left/Right у меня не работает, как и у вас. А вот Alt-Backspace удаляет слово. Проверил на xterm 234-alt2/235-alt1 Полагаю, что тут ещё termcap/terminfo как-то замешены (у меня terminfo-5.6-alt3).
Прежде чем вешать пицот одинаковых багов на пицот терминалов, неплохо бы 1) разобраться, какие терминальные последовательность генерят обсуждаемые комбинации клавиш; 2) о каких вообще программах речь; 3) как эти программы настроены реагировать на заданные последовательности. В любом случае это скорее баг этих программ.
Так вот, в данном случае все упомянутые терминалы генерят \e[1;5D и \e[1;5C, а aterm - \eOd и \eOc (что упомянуто в /etc/inputrc как "on some exotic xterms"). Впишите в /etc/inputrc "\e[1;5D": backward-word "\e[1;5C": forward-word и будет вам щастье. Перевешиваю на setup, дубликаты сами закрывайте, раз вам это так нравится.
Reassign to real maintainer.
(In reply to comment #3) > Ctrl-Left/Right у меня не работает, как и у вас. А вот Alt-Backspace удаляет > слово. Проверил на xterm 234-alt2/235-alt1 Да, спасибо, проблема с Alt-Backspace где-то у меня, буду искать. (При этом во всех других терминалах её нет.) > Полагаю, что тут ещё termcap/terminfo как-то замешены (у меня terminfo-5.6-alt3). Поставил terminfo-5.6-alt4, пока так же.
(In reply to comment #5) > Так вот, в данном случае все упомянутые терминалы генерят \e[1;5D и \e[1;5C, а > aterm - \eOd и \eOc (что упомянуто в /etc/inputrc как "on some exotic xterms"). Спасибо за объяснение! Экзотические -- это: aterm-1.0.1-alt2, Eterm-0.9.3-alt2, rxvt-unicode-9.02-alt1.
*** Bug 15632 has been marked as a duplicate of this bug. ***
*** Bug 15630 has been marked as a duplicate of this bug. ***
*** Bug 15629 has been marked as a duplicate of this bug. ***
генерация разными терминалами разных кодов - не проблема readline, привет
(In reply to comment #12) > генерация разными терминалами разных кодов - не проблема readline, привет Если оно хочет на них одинаково реагировать, то это проблема для readline (нужно учесть и те коды, и другие).
(In reply to comment #7) > > Ctrl-Left/Right у меня не работает, как и у вас. А вот Alt-Backspace удаляет > > слово. Проверил на xterm 234-alt2/235-alt1 > > Да, спасибо, проблема с Alt-Backspace где-то у меня, буду искать. (При этом во > всех других терминалах её нет.) Да, это было исправлено в app-defaults-0.2.8.4-alt1 (*VT100.Translations). Извините за беспокойство!
А вот в vim ситуация обратная - последовательности, выдаваемые xterm, обрабатываются правильно, а то, что выдаёт urxvt, не распознаётся. На самом деле \e[1;5D - это частный случай общей обработки модификаторов, используемой в xterm: In normal mode, i.e., a Sun/PC keyboard when the sunKeyboard resource is false, xterm recognizes function key modifiers which are parameters appended before the final character of the control sequence. Code Modifiers --------------------------------- 2 Shift 3 Alt 4 Shift + Alt 5 Control 6 Shift + Control 7 Alt + Control 8 Shift + Alt + Control --------------------------------- For example, shift-F5 would be sent as CSI 1 5 ; 2 ~ If the alwaysUseMods resource is set, the Meta modifier also is recog- nized, making parameters 9 through 16. (на самом деле просто к значению битовой маски модификаторов добавлена единица, поскольку отсутствующий параметр после CSI считается по умолчанию равным 1, а не 0). В /etc/inputrc от opensuse-11.0 (в пакете aaa_base) есть довольно много вариантов этих кодов, часть внутри $if term=xterm, $if term=rxvt-unicode или прочих вариантов; видимо, наш /etc/inputrc изрядно протух.
(In reply to comment #15) > В /etc/inputrc от opensuse-11.0 (в пакете aaa_base) есть довольно много > вариантов этих кодов, часть внутри $if term=xterm, $if term=rxvt-unicode или > прочих вариантов; видимо, наш /etc/inputrc изрядно протух. Там присвоено одно и то же действие для всех модификаторов и их сочетаний, например: "\e[2C": forward-word "\e[1;2C": forward-word "\e[1;3C": forward-word "\e[1;4C": forward-word "\e[5C": forward-word "\e[1;5C": forward-word "\e[1;6C": forward-word "\e[1;7C": forward-word "\e[1;8C": forward-word Имеет ли смысл нам поступить так же?
setup-2.2.13-alt1 -> sisyphus: * Thu May 27 2010 Dmitry V. Levin <ldv@altlinux> 2.2.13-alt1 - /etc/profile.d/lang.*sh: do not source i18n files if non-empty LANG is already set (closes: #11814). - /etc/services: updated SANE entries (closes: #13071). - /etc/inputrc: added bindings for xterm ctrl-arrows (closes: #15628). - /etc/profile.d/tmpdir.*sh: do not create ~/tmp directory (closes: #19014). - /etc/filesystems: replaced obsolete content with a comment hinting on the purpose of this file (closes: #21082). - /etc/inputrc: added bindings for history search (closes: #22570). - /etc/securetty: added xvc0 for xen virtual console (closes: #23532).