使用 Term::Readline:Zoid 时出现 "ViCommand: no such keymap" 错误
Getting "ViCommand: no such keymap" errors while using Term::Readline:Zoid
我有一段简单的代码,在导出之前运行良好
PERL_RL='Zoid default_mode=ViCommand'
以便在编辑时使用 vi 模式。当我测试代码时出现错误:ViCommand:没有这样的键盘映射。我安装了 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
的命令。但是,通过检查 source,请参阅第 80 行:
command => { _use => 'Term::ReadLine::Zoid::ViCommand' },
您应该可以通过像这样设置环境变量 PERL_RL
来使用“ViCommand”行编辑:
PERL_RL='Zoid default_mode=command'
另一个解决方案:
$term->parse_and_bind("set editing-mode vi");
我有一段简单的代码,在导出之前运行良好
PERL_RL='Zoid default_mode=ViCommand'
以便在编辑时使用 vi 模式。当我测试代码时出现错误:ViCommand:没有这样的键盘映射。我安装了 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
的命令。但是,通过检查 source,请参阅第 80 行:
command => { _use => 'Term::ReadLine::Zoid::ViCommand' },
您应该可以通过像这样设置环境变量 PERL_RL
来使用“ViCommand”行编辑:
PERL_RL='Zoid default_mode=command'
另一个解决方案:
$term->parse_and_bind("set editing-mode vi");