debugging 如何使键盘在Perl调试器中可用(并去掉控制字符)

ckx4rj1h  于 2022-11-14  发布在  Perl
关注(0)|答案(1)|浏览(178)

在我所有的Perl安装中,在使用不同Perl版本的非常不同的机器上(直到v5.36,这是撰写本文时的最新版本),在使用perl -d SomeModule.pm调用Perl调试器时,我无法像在shell中那样使用键盘。Readline看起来是坏的,就像在没有导出TERM=xterm的情况下向主机发送命令一样,首先,up打印^[[A而不是访问历史,home打印^[[H而不是移动光标,end打印^[[F,等等。
如何解决这个问题?

8ulbf1ek

8ulbf1ek1#

请访问https://perldoc.perl.org/perldebug#Readline-Support-/-History-in-the-Debugger

调试器中的Readline支持/历史记录

在出厂时,提供的唯一命令行历史记录是一个过于简单的命令行历史记录,它检查前面的感叹号。但是,如果您从CPAN安装Term::ReadKey和Term::ReadLine模块(例如Term::ReadLine::Gnu,Term::ReadLine::Perl,...),您将拥有完全的编辑功能,就像GNU readline(3)提供的功能一样。请在CPAN上的 modules/by-module/Term 目录中查找这些功能。但是,这些功能不支持正常的vi命令行编辑。
如果安装了PadWalker模块,还可以使用基本的命令行完成功能,包括当前作用域中的词法变量。
如果没有Readline支持,使用箭头键和/或退格键时,您可能会看到符号“^[[A”、^[[C”、^[[B”、^[[D”、“^H”......“。

相关问题