问题标签 [tab-completion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8175 浏览

python - Windows中的python选项卡完成

我正在用 python 编写一个跨平台的 shell 程序,我想添加自定义选项卡完成操作。在 Unix 系统上,当我按下 TAB 键时,我可以使用内置的 readline 模块并使用如下代码来指定可能的完成列表:

如何在 Windows 上执行此操作?如果可能的话,我想避免依赖 3rd-party 包。如果不存在解决方案,是否可以简单地捕获 TAB 按键以便我可以从头开始实现自己的?

0 投票
2 回答
1282 浏览

zsh - 为 zsh 编程自定义选项卡完成

对不起,如果我的 google fu 太弱了,但是:我只是想调整 zsh 以便我可以 tab 完成

使用 ~/somedir 的内容(文件名)

例如:

应该根据 ~/somedir 中以字母 f 开头的文件循环完成。所以我最终可能会得到一个命令行,例如:“someapp -s foobar”。

0 投票
3 回答
2441 浏览

perl - 如何在 Perl 的 Term::Shell 中完成制表符?

我在 Perl 中使用Term::Shell包来实现 CLI 工具。我无法用它来完成命令部分的制表符完成。

comp_CMD() - 这是这个 Term::Shell 提供的一个 API,用于实现 tab 补全。这对我没有帮助。有谁知道如何使这项工作?

示例代码:

这是程序的运行:

上面的命令没有给出预期的输出。它只是给了我一个标签。

0 投票
2 回答
982 浏览

perl - 如何在 Perl 的 Term::Shell 中自定义选项卡完成?

我正在使用Term::Shell包来实现 CLI 工具。这个包提供了一个 API:comp_CMD.

每当用户按下 TAB 时都会调用此函数。我这里的要求是:

shell> stackTAB

over under

`shell>堆叠TAB

flow sample junk

但默认comp_CMD只提供一组 TAB 选项,如

shell> stack TAB

over under

`shell>堆叠TAB

over under###问题就在这里

而不是 这里,我想得到flow sample junk

0 投票
4 回答
3418 浏览

bash - TAB 补全和 mc 问题

这是服务器版本。

当我 ssh 进入它时,我遇到以下问题:

问题 1

制表符完成的行为很奇怪,以至于无法使用:

有没有办法解决这个问题?

问题 2

我经常使用mc。我经常使用 Ctrl+O 来隐藏面板并在 shell 中工作。就我而言:

  1. Ctrl + O 隐藏面板
  2. 任何按键都会使面板恢复原状

有没有办法解决这个问题?

谢谢!

0 投票
1 回答
2110 浏览

python - raw_input 没有在 readline 中留下历史记录

有没有一种方法可以使用 raw_input 而不会在 readline 历史记录中留下符号,以便在制表符完成时不显示?

0 投票
3 回答
18466 浏览

ruby - 如何在 Ruby 的 IRB 中启用自动完成

当我使用 Merb 的内置控制台时,我会得到类似于标准 bash 提示符的选项卡自动完成功能。我发现这很有用,并希望在非 merb IRB 会话中启用它。如何在 IRB 中自动完成?

0 投票
1 回答
847 浏览

vim - Vim 中更快的多文件关键字完成?

在 vim 中搜索我的 python 完成必杀技时,我真的很喜欢 <Cx> <Ci>:“当前和包含文件中的关键字”。这几乎总是让我从另一个完成的模块中得到一个长长的讨厌的名字,这很棒。

(全能完成在工作时显然更好,但它经常报告找不到任何匹配项。好吧,Python 不是 Java,我明白了)

这种多文件完成的唯一问题是它非常慢:在我的上网本上,每次我点击 <Cx> <Ci> 时,具有合理导入集的文件可能需要 4 或 5 秒来解析。每次我点击 <Cx> <Ci> 时似乎都会加载每个导入的文件。有没有办法缓存文件或加快这个过程?使用标签完成会更快吗?

0 投票
5 回答
2095 浏览

bash - 带有可变隐藏根前缀的 Tcsh 和/或 bash 目录完成

我正在尝试在 tcsh 和/或 bash 中设置目录补全(两者都在我的站点上使用),但略有不同:对于特定命令“foo”,我希望补全使用自定义函数来匹配第一个 / 分隔的术语到实际的子树节点,然后按照正常目录完成任何后续术语。它是 cdpath 和完成的组合,或者我认为是目录完成的一种形式,其中起点由完成脚本控制。它将按如下方式工作:

我们愿意这样做是因为我们有一个大型的生产开发树(这是一个 CGI 生产设施),精通 shell 的用户一直在导航和跳跃。抱怨是树的上层繁琐且多余;他们只需要快速搜索第一个术语即可找到可能的“头”选择并从那里完成目录完成。看起来可编程完成可以提供一种方法来做到这一点,但事实证明它非常难以捉摸。

我已经多次尝试自定义 bash 和 tcsh 补全来做到这一点,但我得到的最接近的是一种“单词补全”形式,其中用户必须将目录级别视为带有空格的单独单词(例如 foo scene/shot /元素/工作区/ ...)。我可以继续修改我当前的脚本——但我一直想知道是否有什么我不理解的东西——这是我第一次尝试完成程序,并且在 shell 书籍和互联网上的文档和示例非常薄. 如果有任何完成大师可以让我走上正轨,我将不胜感激。

FWIW:这是我到目前为止所得到的(首先是 tcsh,然后是 bash)。请注意,静态根 '/root/sub1/sub2/sub3' 只是搜索功能的占位符,它将在不同级别找到不同的匹配项。如果我能让它工作,我可以稍后加入搜索功能。同样,这两个示例都进行了单词补全,这要求用户在每个匹配项之后输入一个空格(我还必须删除函数中的空格来构造一个实际的路径,哎呀!)

TCSH 示例(注意该函数实际上是一个 bash 脚本):

重击示例:

0 投票
4 回答
4238 浏览

bash - 如何实现类似 bash 的制表符补全?

我试图确定系统如何将字符打印到标准输入——也就是说,它如何打印用户可以删除的字符,以及如果用户点击“Enter”,哪些字符被视为输入。

我碰巧在使用 C,但如果解决方案依赖于语言,我会感到非常惊讶。

感谢您的任何见解!: D