对于以前输入的命令,在unix中是否有方便的自动完成功能,如在MATLAB中?

时间:2011-02-14 18:34:39

标签: shell unix csh

我喜欢如何通过输入几个单词并按下键来自动填充MATLAB中的先前命令。同样适用于python IDLE。在unix shell中有相同的吗?如果它有帮助,我正在使用csh。

5 个答案:

答案 0 :(得分:7)

我不知道在csh中,但是在bash中你有几个命令来操纵历史记录。特别是,CTRL-R可能很有用。请参阅:

http://www.delorie.com/gnu/docs/bash/bashref_97.html

答案 1 :(得分:2)

在csh中,您可以使用history substitution访问以前的命令(请参阅man csh)。

示例:

% echo $history
% set history=20
% echo a
a
% pwd
/some/dir
% !e
echo a
a
% history
     9  echo a
    10  pwd
    11  echo a
    12  history
% !-3
pwd
/some/dir
% !e:s/a/wow/
echo wow
wow
%

答案 2 :(得分:1)

您可以设置如下别名:

alias prev 'history | grep \!^'

当您输入prev foo时,它会在您的历史记录中搜索所有foo次出现的内容并按如下方式列出一个列表:

23 17:43 foo bar
47 19:29 foo fighters

其中第一列是命令编号,第二列是执行时间,最后一列是命令。您可以通过键入!<command number>

重新执行上一个命令

答案 3 :(得分:0)

rlwrap将gnu readline编辑添加到任何控制台命令。

答案 4 :(得分:0)

与耶稣之前的回答相同,但有更多的澄清

点击CTRL + R开始打字并瞧! (您可以多次点击CTRL+R来循环匹配)

双重答案,但如果人们像我一样快速阅读,他们会跳过答案,因为我读了“工具”这个词并且看到链接我认为它是第三方工具,但它内置了。