bash选项卡完成筛选选项

Cla*_*ley 10 bash

我想让bash中的标签完成更加智能化.

假设我有一个带有src文件的文件夹.lisp,以及该文件.fasl的编译版本.我想键入vi filename [tab tab],并且.lisp autocompletes作为唯一选项.也就是说,我不太可能希望vim打开已编译的二进制文件,因此不要在自动完成选项列表中进行循环.

是否有一种方法可以保留自动完成忽略的扩展列表,或以某种方式为vim自定义,以便自动完成在bash命令以vi开头时仅忽略特定的文件扩展名...

任何想法都表示赞赏.

谢谢!

Pau*_*ce. 11

来自man bash:

FIGNORE

执行文件名完成时要忽略的以冒号分隔的后缀列表.后缀与其中一个条目FIGNORE匹配的文件名将从匹配的文件名列表中排除.样本值为".o:~"(在为此变量赋值时需要引用,其中包含波浪号).

因此,对于您的示例,可以在您的.bashrc文件中 设置

FIGNORE=".o:~:.fasl"
Run Code Online (Sandbox Code Playgroud)

或者,如果您想保留任何其他网站范围的设置:

FIGNORE=".o:~:.fasl:$FIGNORE"
Run Code Online (Sandbox Code Playgroud)


Pet*_*r.O 4

bashcomplete命令似乎就是你想要的。

这是Linux Journal上“完整”命令视频的链接。这是后续页面有关使用 Bash Complete 命令的更多信息

这些链接很好地解释了它,这是一个相关的问题/答案:Bash autocompletion across a symbolic link