Как использовать клавиши со стрелками влево и вправо в интерактивной оболочке tclsh?

Почему я не могу использовать клавиши со стрелками влево и вправо (на самом деле, то же самое касается клавиш со стрелками вверх и вниз), чтобы перемещаться по линии, на которой я сейчас нахожусь в tclsh интерактивная оболочка? Если я пытаюсь нажать одну из них, я получаю кучу абракадабры вместо того, чтобы двигаться вперед и назад. Это не совсем удобно, когда, например, вы делаете опечатку, но вы не можете переместить курсор назад, чтобы изменить его. Вы должны использовать клавишу возврата, чтобы стереть все, что вы набрали после того места, где находится опечатка, тем самым разрушая всю вашу работу. Можно ли исправить это, прямо скажем, ошибочное поведение?

1 ответ

Решение

Эта функциональность предоставляется tcl-tclreadline пакет. От apt-cache show tcl-tclreadline:

Description-en_CA: GNU Readline Extension for Tcl/Tk
 tclreadline adds GNU Readline support to standard Tcl/Tk.  It provides
 interactive command editing and history for Tcl shells (this must be
 enabled on a user-by-user basis) and allows the use of GNU Readline
 features in Tcl programs.

После того, как вы установили пакет, либо из Центра программного обеспечения, либо через командную строку, используя sudo apt-get install tcl-tclreadline, вы можете включить его для интерактивных оболочек tcl, добавив

if {$tcl_interactive} {
  package require tclreadline 
  ::tclreadline::Loop
}

на ваш $HOME/.tclshrc файл, как объяснено на домашней странице проекта tclreadline.

Другие вопросы по тегам