Octave 配置向上箭头以浏览以已键入字符开头的命令

Octave 配置向上箭头以浏览以已键入字符开头的命令,octave,readline,Octave,Readline,这是一篇自我回复的帖子 在octave-3.8.2命令行上,向上箭头仅调用以当前行上已键入的字符开头的命令 例如,在最近的倍频程(4.2.0)中,这种行为已经消失 如何恢复以前的行为?倍频程现在使用~/.inputrc如果存在,而不是默认的倍频程/4.2.0/m/startup/inputrc 可以随时使用另一个readline配置 如果要在所有读线程序之间共享行为(bash),则只需将以下内容(取自bash)添加到~/.inputrc: # allow to enter the first c

这是一篇自我回复的帖子

在octave-3.8.2命令行上,向上箭头仅调用以当前行上已键入的字符开头的命令

例如,在最近的倍频程(4.2.0)中,这种行为已经消失


如何恢复以前的行为?

倍频程现在使用
~/.inputrc
如果存在,而不是默认的
倍频程/4.2.0/m/startup/inputrc

可以随时使用另一个readline配置

如果要在所有读线程序之间共享行为(
bash
),则只需将以下内容(取自
bash
)添加到
~/.inputrc

# allow to enter the first characters of a command, 
# and then use the Up and Down keys to move through only those commands 
# in history that begin with that string.
"\e[A": history-search-backward            # arrow up
"\e[B": history-search-forward             # arrow down
如果只对倍频程执行此操作,一种方法是在
$If octave$否则$endif

$if octave
"\e[A": history-search-backward            # arrow up
"\e[B": history-search-forward             # arrow down
$endif

另一种方法是在你的
~/.octaverc
中发出
(“~/.octave\u inputrc”)
,只是指出我无法复制这个问题。我的倍频程安装(4.2.0)上的默认行为是您在3.8.2中描述的行为(即,仅搜索以已键入字符开头的命令)@tasospapstyleanou您的全局
~/.inputrc
可能包含“历史向后搜索”配置。我的没有。关键是在3.8.2中,octave有自己的readline配置。my global.inputrc没有,但我的octave安装提供了自己的inputrc。您可能是意外删除了此文件,或者安装/配置异常。有关我的安装默认附带的文件的详细信息,请参见下面的“我的答案”。@tasospapstyllanou一点也不,请参见对您答案的评论。你的“global.inputrc”在哪里?啊,我看到你已经编辑了你的答案,包括默认的octaverc,所以我删除了我的答案,因为它是多余的。你是对的,我的安装没有受到影响是因为LinuxMint没有
.inputrc
文件(除非明确定义),因为它默认使用系统范围的
/etc/inputrc
。顺便说一句,它不包含
历史向后搜索
,但似乎octave只检查本地
.inputrc
,不是全系统的;如果本地不存在,则使用八度音阶附带的默认
inputrc
。@tasospapstyllanou完全正确。您的答案是一个有趣的补充,因为它提到了octave的默认
inputrc
。可以取消删除吗?或者你希望我们删除所有的评论,如果没有它可能很难理解?我认为你的答案是完整的,因为它是目前和有用的。在这一点上,取消删除我的内容不会增加太多,所以让我们就此结束:)