问题标签 [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.
python - Windows中的python选项卡完成
我正在用 python 编写一个跨平台的 shell 程序,我想添加自定义选项卡完成操作。在 Unix 系统上,当我按下 TAB 键时,我可以使用内置的 readline 模块并使用如下代码来指定可能的完成列表:
如何在 Windows 上执行此操作?如果可能的话,我想避免依赖 3rd-party 包。如果不存在解决方案,是否可以简单地捕获 TAB 按键以便我可以从头开始实现自己的?
zsh - 为 zsh 编程自定义选项卡完成
对不起,如果我的 google fu 太弱了,但是:我只是想调整 zsh 以便我可以 tab 完成
使用 ~/somedir 的内容(文件名)
例如:
应该根据 ~/somedir 中以字母 f 开头的文件循环完成。所以我最终可能会得到一个命令行,例如:“someapp -s foobar”。
perl - 如何在 Perl 的 Term::Shell 中完成制表符?
我在 Perl 中使用Term::Shell包来实现 CLI 工具。我无法用它来完成命令部分的制表符完成。
comp_CMD() - 这是这个 Term::Shell 提供的一个 API,用于实现 tab 补全。这对我没有帮助。有谁知道如何使这项工作?
示例代码:
这是程序的运行:
上面的命令没有给出预期的输出。它只是给了我一个标签。
perl - 如何在 Perl 的 Term::Shell 中自定义选项卡完成?
我正在使用Term::Shell包来实现 CLI 工具。这个包提供了一个 API:comp_CMD
.
每当用户按下 TAB 时都会调用此函数。我这里的要求是:
shell> stack
TAB
over under
`shell>堆叠TAB
flow sample junk
但默认comp_CMD
只提供一组 TAB 选项,如
shell> stack
TAB
over under
`shell>堆叠TAB
over under
###问题就在这里
而不是在 这里,我想得到flow sample junk。
bash - TAB 补全和 mc 问题
这是服务器版本。
当我 ssh 进入它时,我遇到以下问题:
问题 1
制表符完成的行为很奇怪,以至于无法使用:
有没有办法解决这个问题?
问题 2
我经常使用mc。我经常使用 Ctrl+O 来隐藏面板并在 shell 中工作。就我而言:
- Ctrl + O 隐藏面板
- 任何按键都会使面板恢复原状
有没有办法解决这个问题?
谢谢!
python - raw_input 没有在 readline 中留下历史记录
有没有一种方法可以使用 raw_input 而不会在 readline 历史记录中留下符号,以便在制表符完成时不显示?
ruby - 如何在 Ruby 的 IRB 中启用自动完成
当我使用 Merb 的内置控制台时,我会得到类似于标准 bash 提示符的选项卡自动完成功能。我发现这很有用,并希望在非 merb IRB 会话中启用它。如何在 IRB 中自动完成?
vim - Vim 中更快的多文件关键字完成?
在 vim 中搜索我的 python 完成必杀技时,我真的很喜欢 <Cx> <Ci>:“当前和包含文件中的关键字”。这几乎总是让我从另一个完成的模块中得到一个长长的讨厌的名字,这很棒。
(全能完成在工作时显然更好,但它经常报告找不到任何匹配项。好吧,Python 不是 Java,我明白了)
这种多文件完成的唯一问题是它非常慢:在我的上网本上,每次我点击 <Cx> <Ci> 时,具有合理导入集的文件可能需要 4 或 5 秒来解析。每次我点击 <Cx> <Ci> 时似乎都会加载每个导入的文件。有没有办法缓存文件或加快这个过程?使用标签完成会更快吗?
bash - 带有可变隐藏根前缀的 Tcsh 和/或 bash 目录完成
我正在尝试在 tcsh 和/或 bash 中设置目录补全(两者都在我的站点上使用),但略有不同:对于特定命令“foo”,我希望补全使用自定义函数来匹配第一个 / 分隔的术语到实际的子树节点,然后按照正常目录完成任何后续术语。它是 cdpath 和完成的组合,或者我认为是目录完成的一种形式,其中起点由完成脚本控制。它将按如下方式工作:
我们愿意这样做是因为我们有一个大型的生产开发树(这是一个 CGI 生产设施),精通 shell 的用户一直在导航和跳跃。抱怨是树的上层繁琐且多余;他们只需要快速搜索第一个术语即可找到可能的“头”选择并从那里完成目录完成。看起来可编程完成可以提供一种方法来做到这一点,但事实证明它非常难以捉摸。
我已经多次尝试自定义 bash 和 tcsh 补全来做到这一点,但我得到的最接近的是一种“单词补全”形式,其中用户必须将目录级别视为带有空格的单独单词(例如 foo scene/shot /元素/工作区/ ...)。我可以继续修改我当前的脚本——但我一直想知道是否有什么我不理解的东西——这是我第一次尝试完成程序,并且在 shell 书籍和互联网上的文档和示例非常薄. 如果有任何完成大师可以让我走上正轨,我将不胜感激。
FWIW:这是我到目前为止所得到的(首先是 tcsh,然后是 bash)。请注意,静态根 '/root/sub1/sub2/sub3' 只是搜索功能的占位符,它将在不同级别找到不同的匹配项。如果我能让它工作,我可以稍后加入搜索功能。同样,这两个示例都进行了单词补全,这要求用户在每个匹配项之后输入一个空格(我还必须删除函数中的空格来构造一个实际的路径,哎呀!)
TCSH 示例(注意该函数实际上是一个 bash 脚本):
重击示例:
bash - 如何实现类似 bash 的制表符补全?
我试图确定系统如何将字符打印到标准输入——也就是说,它如何打印用户可以删除的字符,以及如果用户点击“Enter”,哪些字符被视为输入。
我碰巧在使用 C,但如果解决方案依赖于语言,我会感到非常惊讶。
感谢您的任何见解!: D