标签: tab-completion

如何让 bash 为我的别名执行制表符补全?

我设置了一堆 bash 完成脚本(主要使用 bash-it 和一些手动设置)。

我还为诸如gcofor 之类的常见任务设置了一堆别名git checkout。现在我可以输入git checkout dTabdevelop为我完成,但是当我输入时gco dTab它没有完成。

我假设这是因为完成脚本正在完成git并且它看不到gco.

有没有办法以通用/编程方式让我的所有完成脚本与我的别名一起使用?使用别名类时无法完成就违背了别名的目的。

bash tab-completion

51
推荐指数
3
解决办法
1万
查看次数

使 bash 的制表符完成不区分大小写

可能的重复:
Bash 中不区分大小写的选项卡完成

有什么办法可以使 bash 中的 tab-completion 不区分大小写吗?例如,如果我调用了一个文件Hello.txt并尝试通过键入he后跟它来完成它的制表符Tab将不起作用。我必须通过键入He(注意大写 H)和Tab. 有什么方法可以设置 bash,这样我就不必在键入时保留大小写并尝试用 tab 完成它吗?

bash tab-completion

42
推荐指数
1
解决办法
1万
查看次数

如何让 zsh 选项卡完成修复目录和文件的大小写错误?

我在之前的 arch 安装中完全切换到 zsh,我喜欢它主要是因为 arch 是将你的文档、下载、音乐和 ~ 目录中的此类目录大写的发行版之一。由于我不习惯这样做,并且我对终端中的几乎所有内容都使用 Tab 补全,与 bash 相比,zsh 对我来说就像天堂......我发誓这个功能曾经是自动激活的,因为我不记得必须调整任何让它以这种方式工作的东西。我可能是偶然发现的。xD 但是我非常希望使用 zsh 作为我的主 shell 在我的新电脑上恢复这个功能,如果有人知道如何做到这一点,我非常感谢回复。我尝试激活完成配置中的每个选项,但这似乎并没有奏效......所以这把我带到了这里。

PS:我过去常常更新我的 Linux 专业知识,而我的知识已经变得陈旧了......我正在努力解决这个问题......(不使用 shift 键,就像可能……哈哈)

linux zsh shell tab-completion

25
推荐指数
1
解决办法
1万
查看次数

bash 完成使 bash 启动缓慢

在我的 ubuntu 系统上启动 bash 大约需要 2 秒。如果我删除 .bashrc 中的加载 /etc/bash_completion 它会立即启动。当然,我不想放弃完成,我不认为加载该文件是延迟 2 秒的正当理由。

任何想法如何找出问题所在或如何加快速度。

performance bashrc ubuntu tab-completion

15
推荐指数
3
解决办法
5299
查看次数

有没有像 Sublime Text 那样支持模糊补全的 shell?

我正在使用 bash,我想知道 bash 或其他 shell 中是否有任何插件允许我执行此操作 cat tfnislong.txt+[tab]完成cat ThisFileNameIsSoLong.txt就像 Sublime Text 中的选项卡完成一样。

bash shell tab-completion

15
推荐指数
2
解决办法
5322
查看次数

Vim 命令模式完整字

有没有办法让 Vim 在命令模式下完成当前文件中的单词?说我有这个文件:

one
two
three
once
Run Code Online (Sandbox Code Playgroud)

然后我进入命令行模式

:myruncommand o|
Run Code Online (Sandbox Code Playgroud)

其中|表示光标位置。如何使 Vim 完整oneonce在按下 Tab 时完成?

vim tab-completion

13
推荐指数
2
解决办法
2632
查看次数

文件名模式或目录的 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  -f -X '!*.txt' -- $cur ) )
  COMPREPLY=( $( compgen -o plusdirs  -f -X '!*.txt' -- $cur ) )
  return 0
} …
Run Code Online (Sandbox Code Playgroud)

bash tab-completion bash-scripting

13
推荐指数
1
解决办法
9942
查看次数

Zsh,带前缀的目录制表符补全

我有一个目录,我将所有项目都放在其中,假设它~/projects是一个示例。我创建了一个名为的命令s,它接受一个参数,并将我移动到该目录中。例如:s foo将我移至~/projects/foo

我想要的是某种类型的完成命令,它的作用就像cd这样我可以继续点击tab以进一步进入~/projects/...目录。

基本上,cd带有始终存在的前缀。

我在 中研究了 zstyle 完成man zshcompsys,但意识到我对它的了解还不够,无法正确理解它。

zsh prefix tab-completion

10
推荐指数
1
解决办法
3114
查看次数

为什么当我完成 vim 文件名时 bash 选项卡扩展波浪号?

如果我输入cat ~/.bashr<TAB>然后它完成到cat ~/.bashrc.

如果我输入vim ~/.bashr<TAB>然后它完成vim /home/neil/.bashrc...

(它与 相同vi,别名为"vim"。)

我可以关掉它吗?

bash vim tab-completion

8
推荐指数
2
解决办法
1460
查看次数

使用 PowerShell 完成类似 Bash 的非旋转文件名选项卡

在 Windows 下,使用 PowerShell,是否可以使文件名建议(使用Tab密钥)像 Linux 下的 bash 一样工作?

假设一个目录包含 3 个目录:example1,exampleexamination.

在 Windows 上(默认情况下),如果您键入cd exTab,它将自动建议cd .\examination。的后续使用Tab将在example1example和之间轮换建议examination

使用 bash(通常在 Linux 下),如果您键入cd exTab,它将自动完成,直到文件名开始不同的字符:cd exam. Tabthen 的另一种用法表明哪些目录可用:

$ cd exam
examination/ example1/    example2/
Run Code Online (Sandbox Code Playgroud)

然后,如果您键入pand Tab,它将自动完成为example,依此类推(此处提供example1和之间的选择example2)。

有没有办法让文件名建议在像这样的树状搜索中工作,而不是在名称中旋转?

(我主要对文件名感兴趣。Bash 还可以根据文件类型细化这个选择,例如只有目录 for cd,这会很好,但是选择文件名本身就足够了。)

windows powershell command-line tab-completion

8
推荐指数
1
解决办法
2574
查看次数