15

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

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

至少在历史记录工作的调试器上,我可以通过 !

4

7 回答 7

36

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

于 2012-12-09T00:14:51.980 回答
3

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

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

于 2016-07-20T23:26:44.387 回答
3

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

sudo yum install perl-Term-ReadLine-Gnu

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

于 2016-02-04T04:00:37.747 回答
1

对于“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
于 2019-09-24T20:44:35.580 回答
1

这就是帮助我进行 Debian 伸展的原因

apt install libterm-readline-gnu-perl
于 2019-03-04T15:12:58.747 回答
0

我最终做的是在 Preferences > Advanced 下将我的“终端”窗口的术语更改为 vt100

于 2015-09-02T00:22:32.957 回答
0

这是我必须做的才能让它与 Cygwin Perl 一起工作

安装以下 Cygwin 软件包:

libncurses-devel
libreadline-devel

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

于 2018-02-20T18:23:54.863 回答