unix 中是否有像 MATLAB 中那样方便的自动完成功能来自动完成之前输入的命令?

发布于 2024-10-17 12:07:08 字数 102 浏览 6 评论 0原文

我喜欢通过键入几个单词并按下按键来自动完成 MATLAB 中的先前命令。在 python IDLE 中也是如此。 unix shell 中有类似的东西吗?如果有帮助的话,我正在使用 csh。

I like how you can autocomplete previous commands in MATLAB by typing a few words and pressing the key. The same works in python IDLE. Is there an equivalent of that in unix shells? If it helps, I'm using csh.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

殊姿 2024-10-24 12:07:08

我不知道在 csh 中,但在 bash 中你有几个命令来操纵历史记录。特别是,CTRL-R 可能很有用。查看更多信息:

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

I don't know in csh, but in bash you have several commands to manipulate the history. In particular, CTRL-R could be useful. See more in:

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

蓝戈者 2024-10-24 12:07:08

在 csh 中,您可以使用 历史替换 访问以前的命令(请参阅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
%

In csh, you can access previous commands using history substitution (see man csh).

Examples:

% 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
%
最美不过初阳 2024-10-24 12:07:08

您可以像这样设置别名:

alias prev 'history | grep \!^'

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

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

其中第一列是命令编号,第二个是执行时间,最后一个是命令。您可以通过输入!<命令号>来重新执行上一个命令

You can set an alias like so:

alias prev 'history | grep \!^'

when you type prev foo, it searches your history for all occurrences of foo and spits out a list like so:

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

where the first column is the command number, the second is the time it was executed and the last is the command. You can re-execute the previous command by typing !<command number>

满栀 2024-10-24 12:07:08

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

rlwrap adds gnu readline editing to any console command.

停滞 2024-10-24 12:07:08

与 Jesus 之前的回答相同,但有更多说明,

点击 CTRL + R 开始输入,瞧! (您可以多次点击 CTRL+R 来循环匹配)

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

Same as previous answer by Jesus, but with more clarification

Hit CTRL + R start typing and voila! (you can hit CTRL+R more times to cycle matches)

Double answer but if people are speed reading like me, they will skip the answer since I read words "tool" and saw link I assumed it is 3rd party tool, but it comes built in.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文