Bash completion


Source Repository:Repository:Gentoo Portage Tree

Summary: Bash tab-completion



New Ports-2017 tree and Kits

Funtoo has a new ports-2017 tree, and introducing kits! (BETA)
2017-03-27 by Drobbins

Xorg and other Updates

Xorg and other Updates
2017-02-05 by Oleg

Kde4 to Plasma5 migration

Migration to Plasma 5
2017-02-02 by Oleg

Bash completion


We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.


# emerge -av bash-completion

If you want to enable bash completion for any package that supports it, you can set the global USE flag bash-completion:

/etc/portage/make.conf - Set bash-completion globally
USE="$USE bash-completion"

And then emerge -avN @world to enable bash-completion on packages you formerly built without that support.

However, you probably won't need bash completion on every package you install. So for a lighter system and faster completion, prefer enabling it on a per package basis.

Enable bash completion

You need to add the following to your .bashrc to load bash-completion.

~/.bashrc - enable bash completion
source  /etc/bash/bashrc.d/

Now you can enable completion for various programs with eselect.

$ eselect bashcomp list
$ eselect bashcomp enable gentoo

To enable bash completion for all packages, you can use the following.

# eselect bashcomp enable --global {0..476}

Note that for tab completion to work with sftp, openssh must be compiled with libedit support. You can add this to your package.use file:

/etc/portage/package.use - enable tab completion for sftp
net-misc/openssh libedit

To disable bash completion for all packages, you can use the following.

# eselect bashcomp disable --global {0..476}