我曾经在我的 Mac OS X (v 10.7.5) 上使用 Active Perl,然后我切换到通过 mac 端口 (v 5.12.4) 提供的那个。
现在,当我运行 CPAN 客户端或 perl 调试器时,我无法使用 ArrowUp 和 ArrowDown 访问历史记录,提示符处分别显示的是^[[A
和^[[B
。
至少在历史记录工作的调试器上,我可以通过 ! 数。
我曾经在我的 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
.
如果您想避免安装额外的操作系统库(或者因为您没有 root/sudo 而需要),您可以使用 CPAN 来获取 Readline 的这两个 Perl 实现之一:
如果您已经有自己的本地 Perl 安装(例如,使用 Perlbrew),它会特别方便。
继 LeoNerd 和 Hakon 的回答之后:- 在 CentOS 7 上,我必须运行
sudo yum install perl-Term-ReadLine-Gnu
安装模块。现在箭头键在 perl -d 中工作
对于“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
这就是帮助我进行 Debian 伸展的原因
apt install libterm-readline-gnu-perl
我最终做的是在 Preferences > Advanced 下将我的“终端”窗口的术语更改为 vt100
这是我必须做的才能让它与 Cygwin Perl 一起工作
安装以下 Cygwin 软件包:
libncurses-devel
libreadline-devel
然后Term::ReadLine::Gnu
从 CPAN 安装模块