我有一段简单的代码,在导出之前运行良好
PERL_RL='Zoid default_mode=ViCommand'
以便在编辑时使用vi模式。当我测试代码时,我得到了错误:ViCommand:没有这样的keymap。我安装了libterm readline zoid perl,根据我所知,ViCommand是内置的,所以我应该可以使用,但显然不是。
#!/usr/bin/env perl
use warnings;
use strict;
use Term::ReadLine;
my $term = new Term::ReadLine 'LineEdit';
while ( defined ($_ = $term->readline($ARGV[0],$ARGV[1])) ) {
print $_;
exit;
}
似乎没有名为ViCommand
的命令。但是,通过检查来源,请参见第80行:
command => { _use => 'Term::ReadLine::Zoid::ViCommand' },
您应该能够使用";ViCommand";通过如下设置环境变量PERL_RL
进行行编辑:
PERL_RL='Zoid default_mode=command'
另一个解决方案:
$term->parse_and_bind("set editing-mode vi");