向上和向下箭头在Perl调试器和CPAN客户端中不再起作用



我曾经在我的Mac OS X(v 10.7.5)上使用Active Perl,然后我切换到通过mac端口(v 5.12.4)提供的那个。

现在,当我运行CPAN客户端或perl调试器时,我无法使用ArrowUp和ArrowDown访问历史记录,提示符中显示的内容分别为^[[A^[[B

至少在调试器上历史记录有效,我可以通过 !

默认情况下,您获得的唯一Term::ReadLine处理程序是Term::ReadLine::Perl它非常简单,并且不理解箭头键之类的东西。您可能想要安装 Term::ReadLine::Gnu

继LeoNerd和Hakon的回答之后:-在 CentOS 7 上,我不得不运行

sudo yum install perl-Term-ReadLine-Gnu

以安装模块。现在箭头键在 perl -d 中工作

如果你想避免安装额外的操作系统库(或者因为你没有root/sudo而需要安装),你可以使用CPAN来获取Readline的这两个Perl实现之一:

    Term::
  • ReadLine::P erl (Readline 库的 Perl 实现)
  • Term::Readline:
  • :Zoid (Readline 库的 Perl 实现)

如果你已经有了自己的本地Perl安装(例如,使用Perlbrew),这特别方便。

这就是在 Debian 扩展中帮助我的原因

apt install libterm-readline-gnu-perl

对于"git for Windows",您可以执行以下操作:

Ilya Zakharevich 的软件包 Term-ReadLine-Perl-1.0303

下载文件

Term-ReadLine-Perl-1.0303.tar.gz

提取它

tar xvzf ../Term-ReadLine-Perl-1.0303.tar.gz

两个文件

Term-ReadLine-Perl-1.0303/ReadLine/Perl.pm
Term-ReadLine-Perl-1.0303/ReadLine/readline.pm

通常必须以管理员权限复制到目录中

C:/Program Files/Git/usr/share/perl5/site_perl/Term/ReadLine/

生成两个文件

C:/Program Files/Git/usr/share/perl5/site_perl/Term/ReadLine/Perl.pm and
C:/Program Files/Git/usr/share/perl5/site_perl/Term/ReadLine/readline.pm

之后,您可以使用perl调试器中的光标键,例如在 "perl -de 0" 会话中。

在 Windows SDK 的 64 位 git 中,通常必须将两个文件复制到目录中

C:/git-sdk-64/usr/share/perl5/site_perl/Term/ReadLine
我最终所做的是在首选项>高级

下将"终端"窗口的术语更改为 vt100

>

以下是我必须做的,才能让它与Cygwin Perl一起工作。

安装以下 Cygwin 软件包:

libncurses-devel
libreadline-devel

然后从CPAN安装Term::ReadLine::Gnu模块