Articles of tab completion

JFileChooser的File Name inputer中添加了制表符

我怎样才能添加Linux的标签完成jFileChooser的文件名称input字段? 我假设我需要添加一个侦听器到文件名的文本input框来监听Tab键。 但我不知道该怎么做。 然后,一旦一个tab键被击中,我需要看目录的文件/目录,以input的内容开始。 任何想法,我怎么能做到这一点?

在shell中自定义完成

我需要开发一个将采用命令行参数的实用程序,如下所示: $ lsm -g <group> -t <type> -d <device> 我的项目经理希望当我们input任何参数(如lsm -g并按下Tab键时 ,将会调用一个函数来运行数据库查询并获取关于该选项的值的帮助。 类似于terminal在这种情况下的行为: $ cd <tab> .bash_history .local/ .bash_logout .log-report.log.swp .bash_profile .macromedia/ .bashrc .mozilla/ .cache/ Music/ .config/ .mysql_history .dbus/ .nautilus/ Desktop/ .opera/ Documents/ .orc/ Downloads/ .p2/ .eclipse/ Pictures/ 我已经尝试了这些方法: 使用fork()创build一个孩子来调用帮助function。 使用execv()使用一个单独的二进制运行一个帮助函数。 但是都要求lsm运行。 我不知道如何进一步进行。

我怎样才能设置shell标签完成切换替代?

当我input时,例如“cd bu [tab]”,并且有多个选项(比如build /和build /),terminal通常会显示所有可能选项的列表(在按[tab]两次之后)。 我想设置它,使每个[tab]button将循环替代,而不是显示它们的列表: $ cd bu [tab] – > $ cd build / – > [tab] – > $ cd builds / – > [tab] – > $ cd build / etc 我希望我的意思是清楚的? :)例如,mIRC对昵称和频道完成具有相同的function。 另外,请告诉我,这是可能的,而不写我自己的完成脚本。 编辑:我在Ubuntu上使用标准的terminal。

在Bash中自定义path完成

我想为我自己的文件系统写一个bash_completion脚本。 我有客户端程序发送查询到一些数据库。 例: my_prog –ls db_name:/foo/bar/ 这个命令写入标准输出文件列表db_name:/foo/bar文件夹。 我想为此启用自动完成。 所以当我按标签它显示选项列表。 my_prog –ls db_name:/foo/bar/<tab> 但在这种情况下,当我按下标签,有单一的选项,它取代了当前input的path,所以我得到这个: $ my_prog –ls db_name:/foo/bar/<tab> $ my_prog –ls file 但是我想把匹配添加到inputpath的末尾。 这是我的完成function: __complete_path() { COMPREPLY=() if [[ ${1} == "" ]] then COMPREPLY=( "/" ) compopt -o nospace return fi base=${1##*/} dir=${1%/*} options="my_prog –ls ${db}:${dir}" COMPREPLY=( $(compgen -W "${options}" — ${base} ) ) compopt […]

提示自定义bash完成

我正在开发一个自定义的bash完成命令来从调度系统(LSF,PBS,SLURM)捕获作业ID。 我已经有了基本的function,但是现在我想用运行zsh时看到的“提示”来扩展它。 例如,当我在下面的grep例子中按TAB时,我得到: grep -<TAB> –after-context -A — specify lines of trailing context –basic-regexp -G — use basic regular expression –before-context -B — specify lines of leading context … 之后的第三列,是我想补充到我自己的bash完成。 什么是正确的技术术语呢? 提示? compgen提供了一个function吗? 我附上我目前的工作示例,只提供ID。 该示例使用LSF。 # LSF Job ID completion function _mycurrentjobs() { local cur=${COMP_WORDS[COMP_CWORD]} COMPREPLY=( $(compgen -W "$(bjobs -noheader -u $USER -o JOBID)" — […]

Linux上的Python cmd不会自动完成特殊字符或符号

诸如- , +等字符的parsing方式与Python的基于readline的cmd模块的字母数字ASCII字符不同。 这似乎只是Linux特定的问题,因为它似乎在Mac OS上按预期工作。 示例代码 import cmd class Test(cmd.Cmd): def do_abc(self, line): print line def complete_abc(self, text, line, begidx, endidx): return [i for i in ['-xxx', '-yyy', '-zzz'] if i.startswith(text)] try: import readline except ImportError: print "Module readline not available." else: import rlcompleter if 'libedit' in readline.__doc__: readline.parse_and_bind("bind ^I rl_complete") else: readline.parse_and_bind("tab: complete") Test().cmdloop() […]

在Linux下制作完成的选项卡完成

我不知道标签填充是如何工作的,但是突然之间我的内容被打破了。 我甚至不知道除了用例外还提供了什么信息。 在makefile中有一个clean的目标。 $ make c<tab>结果 $ make c23:set: command not found lean 编辑:我相信不知怎么我毁了内置的bash set ,因为man set说No manual entry for set和which set不报告任何东西。 然而,在terminal上调用set会产生结果。 我正在使用: GNU bash,版本4.3.11(1) – 释放(x86_64-pc-linux-gnu)和GNU Make 3.81

bash标签完成问题与Ubuntu 12.04

我有一个问题,我无法解决tab-completion问题。 具体来说,每当我尝试制表完成一个目录,完整的目录名称出现后面有一个空格,而不是正斜杠来完成其余的。 例如 ~$ python ~/sof 制表符完成 ~$ python ~/software<space> 代替 ~$ python ~/software/ 有趣的是,这不会发生与cd但与其他一切事情。

在Windows控制台中设置Mercurial以完成命令

有没有一种方法来设置Mercurial从Windows上的控制台工作时获得命令完成? 我想有类似的git bash ,但为mercurial

如何强制windows cmd选项卡完成以添加尾随斜杠到目录名称

在极less数情况下,我必须使用Windows命令提示符而不是bash,这使得我坚持选项卡完成不会在目录名称末尾添加斜杠。 有一个设置或脚本,我可以运行,以强制完成?