ключи home\end в xterm ведут себя неправильно

Пока я открываю xterm из своего tsh на работе, клавиши Home и End прокручивают экран xterm вверх и вниз соответственно, а не перемещаются к началу\концу строки.
Согласно /etc/inputrc, моя привязка клавиш такова:

"\e[1~": начало строки
"\e[4~": конец строки
...
"\e[H": начало строки
"\e[F": конец строки

Это именно то, что предлагал каждый сайт, который я нашел по этой теме, и все же - без толку.

Если это что-то значит, то Ctrl-a, Ctrl-e ведут себя как надо, но так как я привык к другому ключу, я пропал.

Излишне говорить, что поскольку это рабочий компьютер, у меня нет прав на запись в файл /etc/inputrc, и никто не хочет его менять за меня.

Как я могу обойти эту проблему?
Неважно, будет ли решение заключаться в изменении какого-либо файла или добавлении опции в команду xterm.

p.s. (спасибо за комментарий)
Прежде чем спрашивать, я попытался установить ту же привязку в моем файле ~/.inputrc, но это тоже не сработало.


person user2141046    schedule 22.01.2017    source источник
comment
~/.inputrc это вещь.   -  person melpomene    schedule 22.01.2017
comment
палец вверх за напоминание о .inptrc, но даже когда у меня есть правильная привязка, у меня все еще нет желаемого поведения.   -  person user2141046    schedule 22.01.2017


Ответы (1)


Проблема не связана с какой-либо возможной настройкой в ​​.inputrc (которая не прокручивает ваш экран вверх и вниз, хотя вы можете прокручивать историю команд и т. д.).

Если это xterm (а не какой-либо другой терминал), вы можете исправить это с помощью ресурса translations, например, используя xev для определения имен ключей home/end (вероятно просто home и end), и используя эти имена в таком переводе (в ваших X-ресурсах):

*VT100*translations:    #override \n\
          <key>home: string(0x1b) string("[1~") \n\
           <key>end: string(0x1b) string("[4~") \n

Раньше Solaris делал это для ключей page-up/page-down, и (например), если вы используете старую версию, такую ​​как Solaris 10, совет в часто задаваемых вопросах по xterm Почему я не могу использовать клавиши pageup/pagedown? имеет значение.

Дальнейшее чтение:

  • .Xresources или .Xdefaults? может оказаться полезным. В большинстве комментариев к ресурсам X предполагается, что вы используете X только локально, на рабочем столе. Если вы используете более общее, чем это, .Xdefaults (обычно с добавленным именем хоста) является местом для начала. В противном случае полезно использовать .Xresources.

  • файл Sven Maschek app-defaults приложения XTerm

person Thomas Dickey    schedule 22.01.2017
comment
Это оно. Я уже нашел этот ответ в других темах (например, unix.stackexchange.com/questions/85656/), но не смог найти подходящее место для перевода. Ответ, кстати, .Xresources файл, который я создал по этому случаю. Теперь у меня есть Предупреждение: синтаксическая ошибка таблицы перевода: Неизвестный тип события: ключ ... найдено при разборе '‹key›home: string(0x1b) string([1~)', но, похоже, это работает, поэтому я надеюсь, что ничего не сработает в ближайшем будущем.. - person user2141046; 24.01.2017
comment
Обычная проблема с синтаксисом в translations заключается в пропуске новой строки, \n (буквально так). - person Thomas Dickey; 24.01.2017
comment
Если бы я только мог, я бы дал вам еще один голос за редактирование, которое вы сделали, отличные ссылки! Спасибо. - person user2141046; 25.01.2017