【问题标题】:Matlab-like command history completion in csh在 csh 中完成类似 Matlab 的命令历史记录
【发布时间】:2011-06-16 11:32:02
【问题描述】:

我的问题是如何获取存储在 csh 历史中的命令的命令行补全,编写命令的开头并使用向上/向下箭头在列表中移动,其方式与在 Matlab 中类似。示例:

$ vim fi
[press up]
$ vim file.py

我在下面的帖子中看到了针对 bash shell 的主题,但没有针对 csh。我认为 csh 可能不可能......

here 和 here

谢谢

PS:我第一次进入 stackoverflow,这个网站很棒!

【问题讨论】:

    标签: linux csh


    【解决方案1】:

    Alt+P 将执行 csh 中的功能。可能有一种方法可以将向上箭头键映射到 ALt+P 仅用于 csh(不确定这是否会搞砸其他事情)。

    除此之外: Alt+/ 是完成存储在历史中的长路径/命令的一个很好的快捷方式。 例如,如果您先输入以下内容:

     ls a/very/very/long/path
    

    然后,如果您想将目录更改为该目录,只需键入第一个字母 (a),然后按 Alt+/ 即可完成路径。

     cd a[Alt+/]
    

    【讨论】:

    • 您好哈希蓝,感谢您的回答。 Alt+P 将执行与“向上”箭头键相同的功能,但它不会自动完成命令,考虑到已经写在那里的第一个字母。 “Alt+/”是一个不错的功能,我不知道你!由于问题仍未解决,因此我将问题留待解决。
    • @Almendrico:它适用于我,即如果我输入“日期”,然后输入“时间”,然后输入 d,然后按 Alt+p,它会完成日期调用。
    • 不完全符合要求...看起来“Alt+P”以与历史记录中显示的顺序相同的顺序遍历命令(使用“历史记录”命令)。一旦我们遍历了一个命令,就不能使用“Alt+P”再次显示它,或者它下面的命令。示例:键入“日期”,然后键入“时间”。然后写“da”并按“Alt+P”,会出现“日期”。然后删除所有字母并写上“ti”;按“Alt+P”。什么都不会发生,因为我们比历史列表更进一步。您可能需要清除历史才能更清楚地看到这一点......使用“history -c”来做到这一点。 Rgds
    • 顺便说一下,上面的解释不适用于“Alt+/”。这个技巧似乎独立于命令在历史记录中的位置。
    【解决方案2】:

    我认为您正在寻找的是以下命令之一:

    bindkey -k up history-search-backward
    
    bindkey -k down history-search-forward
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      • 2022-10-21
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多