仅 VIM 文件,仅 cd 目录

仅 VIM 文件,仅 cd 目录

Tab在 Bash shell 提示符上使用 for 完成时,是否有任何方法可以将其配置为仅完成命令的文件vim和仅完成命令的目录cd?在包含许多文件和子目录的大型目录中,完成时要做的更正量应该减少一半。

请注意,迁移到不同的 shell 是不切实际的,但如果不存在 Bash 解决方案,我仍然有兴趣听到非 Bash 解决方案。

答案1

如前所述,安装(并且可能启用)bash-completion是最简单的(或至少是最实用的)方法......

然而,这些命令也会这样做:(将其放入~/.bashrc和/或~/.bash_profile或某处以便每次打开控制台时运行它)

complete -d cd
complete -f vim

请参阅bash的手册页并help complete了解更多信息/选项。

答案2

有什么方法可以将其配置为仅完成命令 vim 的文件吗?

可能有,但要小心你的愿望。这将使得子目录中的文件无法进行制表符补全,并且也不会针对包含文件的目录进行扩展。

和[有什么方法可以将其配置为完成]仅用于命令cd的目录吗?

是的,Ubuntu 12.04 中默认安装了该行为,并且可能还有其他操作系统。如果你没那么幸运,可以尝试一下这个答案在 Superuser.com 上。

答案3

bash-completion安装包了吗?

自动补全vim也会选择目录,因为目录中几乎总是有文件。您还可以使用 vim 打开目录,然后在 vim 中遍历目录树。

在我的系统上,bash 自动补全cd仅列出目录,因此这是可能的,并且是我所有系统上默认发生的情况......

相关内容