我曾经在我的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
模块