Questions tagged «tab-completion»

制表符完成功能是Shell和其他命令行程序的用户界面增强功能。键入命令(或自变量)的前几个字符并按Tab键将导致该单词的其余部分由程序自动完成。

3
如何获取bash对别名执行制表符补全?
我设置了一堆bash完成脚本(主要使用bash-it和一些手动设置)。 我也有一堆别名设置像常见任务的gco进行git checkout。现在,我可以输入内容git checkout dTab并develop为我完成,但是输入时还gco dTab没有完成。 我认为这是因为完成脚本正在完成git并且看不到gco。 是否可以通过通用/编程方式使我所有的完成脚本与别名一起使用?使用别名种类时无法完成会破坏别名的目的。

1
使bash的制表符完成不区分大小写[重复]
可能重复: Bash中不区分大小写的制表符完成 有什么办法可以使bash中的制表符完成不区分大小写?例如,如果我有一个名为的文件,Hello.txt并尝试通过键入制表符完成它he,Tab那么它将无法正常工作。我将不得不通过键入He(请注意大写字母H)和来制表Tab。有什么方法可以设置bash,以便在键入时尝试用Tab键完成它时不必保留大小写吗?

4
重击完成使重击开始缓慢
在我的ubuntu系统上启动bash大约需要2秒钟。如果我删除了.bashrc中的/ etc / bash_completition加载,它将立即启动。当然,我不想放弃竞争,也不认为加载该文件是2秒钟延迟的合法原因。 关于如何找出问题所在或如何加快速度的任何想法。

2
bash完成文件名模式或目录
我正在尝试设置bash完成脚本并遇到一些麻烦。 我想进行设置,以使列出的补全是与特定扩展名匹配的文件或目录(可能包含该扩展名的文件,也可能不包含该扩展名的文件)。 我遇到的麻烦是,让我包含文件和目录的-o plusdirs -f -X '!*.txt'补全的唯一方法是使用诸如之类的东西,但是当我让bash完成其中一个目录时,它只是在末尾添加了一个空格,而不是削减。 _xyz() { local cur=${COMP_WORDS[COMP_CWORD]} local prev=${COMP_WORDS[COMP_CWORD-1]} #COMPREPLY=( $( compgen -f -X '!*.txt' -- $cur ) ) #COMPREPLY=( $( compgen -f -G '*.txt' -- $cur ) ) #COMPREPLY=( $( compgen -o filenames -f -X '!*.txt' -- $cur ) ) #COMPREPLY=( $( compgen -o dirnames …

4
Vim命令模式完成字
有没有办法让Vim在命令模式下完成当前文件中的单词?说我有这个文件: one two three once 我进入命令行模式 :myruncommand o| 其中|表示光标位置。如何使Vim完成one或once按Tab键?


1
类似于Bash的非旋转filename选项卡,使用PowerShell完成
在Windows下,使用PowerShell,是否可以使文件名建议(使用Tab密钥)像在Linux下与bash一样工作? 让我们假设一个目录包含3个目录:example1,example和examination。 在Windows(默认情况下)上,如果键入cd ex和Tab,它将自动建议cd .\examination。在以后使用Tab将旋转的建议example1,example和examination。 使用bash(通常在Linux下),如果键入cd ex和Tab,它将自动完成,直到文件名开始不同的字符:cd exam。Tab然后的另一种用法建议了哪些目录可用: $ cd exam examination/ example1/ example2/ 然后,如果您输入p和Tab,它将自动完成至example,依此类推(在此处,可以在example1和之间进行选择example2)。 有没有办法像这样在树状搜索中使文件名建议起作用,而不是轮流浏览名称? (我主要对文件名感兴趣。Bash还可以根据文件类型来优化此选择,例如仅提供的目录cd,这很好,但具有文件名选择本身就足够了。)


1
zsh中的未加引号的完成列表
我注意到zsh中的自动完成列表会转义所有这样的文件名 Age\ of\ Empires\ 2/ ePSXe\ 1.7.0/ Touhou\ Project/ Windows\ 98\ SE/ Aikisado/ Mathematica\ 8/ Urban\ Terror/ World\ of\ Padman/ 虽然bash没有和显示 Age of Empires 2/ ePSXe 1.7.0/ Touhou Project/ Windows 98 SE/ Aikisado/ Mathematica 8/ Urban Terror/ World of Padman/ 我想知道是否有某种方法可以使zsh表现得像这样(比如看起来像是ls --quoting-style=literal代替ls --quoting-style=escape)。

1
在bash或zsh中左选项卡完成
当我在bash或zsh中使用标准制表符完成时,我键入文件名或路径的第一部分,然后点击以完成单词。除非我在一个文件目录中,文件名的所有变化都在单词的末尾,例如,这种情况很有效。一个充满时间戳文件的目录,所有文件都以相同的前缀开头: foo-20120701124501.log foo-20120701124531.log foo-20120701124601.log foo-20120701124631.log foo-20120701124701.log foo-20120701124731.log 在这种情况下,如果我输入 foo<tab> 我去拿 foo-20120701124 - 我可以再次选项卡,并查看所有文件...我必须输入接下来的3个字符才能获得唯一的文件名。 我想知道是否有办法输入例如 4731.log 然后完成单词的开头。我猜这在bash中很难,因为bash完成使用 $COMP_CWORD 和 $COMP_KEY 对于它的可编程完成,从我正在阅读它的方式来看,我认为那些不会允许向左完成单词。我对zsh内部的完成知之甚少,不知道从哪里开始查看手册页。

0
轮回完成?
如何防止ZSH通过匹配补全循环,而是仅在列表中显示剩余可能性的列表? 在较新的OS安装中,按Tab时我开始了解ZSH循环行为。我不喜欢它,而是更喜欢给我看比赛清单。我的较旧的操作系统安装有此设置,因此我猜测是由于较新版本的Zsh中的某些默认设置所致。我曾尝试在Google上进行搜索,并比较了我的环境变量(env输出-如果有帮助,可以在其中添加它们,但会很长),但我只是想不出正确的设置。 这是我的环境信息: 在以下系统上可以正常工作(每次按Tab时列表匹配) zsh 4.3.12 (i386-apple-darwin11.2.0),Darwin macbookair 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 i386 MacBookAir4,2 Darwin zsh 5.1.1 (i686-ubuntu-linux-gnu), Linux nuc2017 4.4.0-96-generic #119-Ubuntu SMP Tue Sep 12 14:58:51 UTC 2017 i686 i686 i686 GNU/Linux 全新Ubuntu安装 zsh 5.0.8 (x86_64-apple-darwin15.0), Darwin Sridhars-Mac-mini.local 15.3.0 Darwin …

1
在zsh中的选项卡完成时运行命令
我正在尝试建立一个zsh函数,它将带我回到顶层git目录,并带有一个可选参数来相对于该目录移动。我目前有这个可行的: alias gitdir='git rev-parse --show-toplevel' cdgit() { cd $(gitdir)/$1 } 问题是,制表符补全无法正常工作,它将在运行时从我所在的任何目录自动完成cdgit,但我希望从中完成$(gitdir)。如果我在运行之前输入以下行cdgit,则补全将正常运行(从$(gitdir)): compctl -W $(gitdir) -/ cdgit 但是,我不想每次键入cdgit仅获得制表符完成之前都键入该命令。有什么办法可以使我完成功能cdgit,以某种方式运行该命令,使我的完成正确吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.