Skip to content

Instantly share code, notes, and snippets.

@thieryl
Forked from GusAntoniassi/README.md
Created March 27, 2023 07:13
Show Gist options
  • Save thieryl/dbd1edf298457011e08853de5be5fd6a to your computer and use it in GitHub Desktop.
Save thieryl/dbd1edf298457011e08853de5be5fd6a to your computer and use it in GitHub Desktop.
Configure autocompletion to kubectl with zsh

kubectl with ZSH (oh-my-zsh)

How to configure

Use the following commands to add the kubectl autocomplete to zsh:

mkdir -p ~/.oh-my-zsh/custom/plugins/kubectl-autocomplete/
kubectl completion zsh > ~/.oh-my-zsh/custom/plugins/kubectl-autocomplete/kubectl-autocomplete.plugin.zsh

After that, edit your ~/.zshrc to include the plugin kubectl-autocomplete, like so:

# ~/.zshrc
# ...
plugins=(kubectl-autocomplete)

Optional: kubens and kubectx

Kubectx is a great plugin for easily switching namespaces and contexts.

You can install it with these commands:

curl -LO https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx
curl -LO https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens

sudo chmod +x ./{kubectx,kubens}
sudo mv ./{kubectx,kubens} /usr/local/bin/

mkdir -p ~/.oh-my-zsh/completions
curl -L https://raw.githubusercontent.com/ahmetb/kubectx/master/completion/kubectx.zsh -o ~/.oh-my-zsh/completions/_kubectx.zsh
curl -L https://raw.githubusercontent.com/ahmetb/kubectx/master/completion/kubens.zsh -o ~/.oh-my-zsh/completions/_kubens.zsh

How to use it

Press tab after running the commands and you should get suggestions for the output

kubectl g<TAB>
kubectl get p<TAB>

kubens <TAB>
kubectx <TAB>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment