Как настроить lynx для распознавания ^? как удалить / возврат?

493
Avery Chan

Когда я использую lynx через sshing для коробки Debian из MacOS X (Leopard), он не распознает мой возврат по умолчанию ('^?') Как таковой. Я хотел бы знать, как сопоставить backspace с '^?' для этого конкретного процесса. Я не был удовлетворен этими решениями:

1) Настройка терминала для отправки ^ H при удалении, а затем с помощью 'stty erase ^ H' в моем bashrc. Это заставляет работать рысь, но нарушает emacs; Я привык нажимать M-del, чтобы удалить целое слово, а использование ^ H нарушает это поведение для меня.

2) Перекомпилировать рысь, чтобы принять ^? как «стереть». Это не стоит мне.

3) Используйте более простое значение термина как vt100. Я использую xterm-color, потому что мне нравятся цвета.

Я прочитал этот http://www.ibb.net/~anne/keyboard.html, который был интересным, но настройка inputrc не помогла.

Спасибо

1
Меня удивляет поведение, которое вы описываете: отправка backspace `^?` Является поведением по умолчанию в Debian (так что по умолчанию оно должно работать во всех приложениях), а также в моем окне Debian (lenny), оба `^?` И `^ h` сделать возврат в lynx с помощью` TERM = xterm-color` и либо `stty erase '^?'`, либо `stty erase '^ h'`. Gilles 14 лет назад 0
Вот мой взгляд на stty: intr = ^ C; выход = ^ \; стереть = ^ ?; убить = ^ U; eof = ^ D; eol = M- ^ ?; eol2 = M- ^ ?; swtch =; начало = ^ Q; стоп = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; флеш = ^ O; мин = 1; время = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel -iutf8 opostronlonr -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echo -echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke Avery Chan 14 лет назад 0

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

0
Jacob

Поместите его в сценарий входа в систему в окне debian или, если вы запускаете emacs для этого, напишите сценарий lynx, который запускает stty ... перед запуском lynx.

Это своего рода решение, которое я ищу, но как я могу вызвать stty в контексте выполнения lynx без изменения stty для всего сеанса? Я попытался внести изменения stty в мой логин (.bash_profile), но он не сделал то, что я хотел :( Avery Chan 14 лет назад 0
На самом деле я попробовал это, и это не решение, которое я ищу. Terminal.app настроен на отправку ^? и рысь не узнает это. Поэтому я должен установить оба терминала и стирание, но я не хочу этого делать. Теоретически я хотел бы отобразить ^? удалить в рыси. Так что мне нужен способ сделать это только для рыси. Avery Chan 14 лет назад 0
0
Avery Chan

Ответ Джейкоба не сработал для меня. lynxдля моей установки обрабатывается ^?как \010(возврат) вместо \177(удаление). С предложенным Джейкобом решением мне все равно придется изменить использование Terminal.app. Вот решение, которое сработало для меня. Страница Анны Баретты относительно возврата и удаления была очень полезна: Backspace / Delete Config .

一. Установить ожидаемо, если он еще не установлен.

二. Создайте скрипт для замены lynx (или любого другого исполняемого файла) следующим образом:

 #! / USR / бен / ожидать  eval spawn -noecho / usr / bin / lynx  взаимодействовать { \ 177  "\ 033 \ [3 ~"  } 

三. Сделайте скрипт исполняемым, и все готово!