Package:Bash completion

From Funtoo
Jump to navigation Jump to search

Bash completion

   Tip

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.

Install

root # 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/bash_completion.sh

Now you can enable completion for various programs with eselect.

user $ eselect bashcomp list
user $ eselect bashcomp enable gentoo

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

root # 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.

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