Стрелки вверх и вниз больше не работают в отладчике Perl и клиенте CPAN
Раньше я использовал Active Perl на Mac OS X (v 10.7.5), а затем переключился на тот, который был предоставлен через порты Mac (v 5.12.4).
Теперь, когда я запускаю клиент CPAN или отладчик perl, я не могу получить доступ к истории, используя ArrowUp и ArrowDown, что показано в приглашении: ^[[A
а также ^[[B
соответственно.
По крайней мере, на отладчике история работает, я могу получить доступ к прошлым командам через!число
5 ответов
По умолчанию единственный Term::ReadLine
обработчик вы получаете Term::ReadLine::Perl
что довольно просто и не понимает такие вещи, как клавиши со стрелками. Вы, вероятно, хотите установить Term::ReadLine::Gnu
,
Если вы хотите избежать установки дополнительных библиотек ОС (или вам нужно, потому что у вас нет root/sudo), вы можете просто использовать CPAN, чтобы получить одну из этих двух реализаций Perl Readline:
- Term:: ReadLine:: Perl (Perl-реализация библиотек Readline)
- Term:: Readline:: Zoid (Реализациячистых Perl библиотек Readline)
Это особенно удобно, если у вас уже есть собственная локальная установка Perl (например, с использованием Perlbrew).
Исходя из ответов от LeoNerd и Hakon:- На CentOS 7 мне пришлось бежать
sudo yum install perl-Term-ReadLine-Gnu
установить модуль. Теперь клавиши со стрелками работают в perl -d
Это то, что помогло мне в растяжке Debian
apt установить libterm-readline-gnu-perl
Для "git для Windows" вы можете сделать следующее:
От
Пакет Ильи Захаревича 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".
В 64-битном git для Windows SDK вам обычно нужно скопировать два файла в каталог
C:/git-sdk-64/usr/share/perl5/site_perl/Term/ReadLine
В итоге я изменил термин окна "Терминал" на vt100 в "Предпочтения"> "Дополнительно".
Вот что я должен был сделать, чтобы заставить его работать с Cygwin Perl
Установите следующие пакеты Cygwin:
libncurses-devel
libreadline-devel
Затем установите Term::ReadLine::Gnu
модуль из CPAN