Завершение оболочки Docker в OSX iTerm2 oh-my-zsh

Я пытаюсь выполнить завершение оболочки Docker в этом стеке (OSX iTerm2 oh-my-zsh)

Я следовал этому руководству -> https://docs.docker.com/compose/completion/

Сначала я выполнил это

$ mkdir -p ~/.zsh/completion
$ curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose

Затем я добавил эти две строки почти в конец ~/.zshrc файла

fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i

Затем в терминале запускаю

source ~/.zshrc
exec $SHELL -l

Но когда я нажимаю tab, он предлагает файлы и папки по пути


person agusgambina    schedule 04.08.2017    source источник


Ответы (2)


Вы настроили завершение для docker-compose, а не для docker. Если вы также хотите добавить завершение docker, выполните следующую команду и перезагрузите оболочку.

curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/zsh/_docker > ~/.zsh/completion/_docker 

Другое решение (ОБНОВЛЕНИЕ):

Добавьте плагин docker в список плагинов .zshrc:

  1. Откройте ~/.zshrc
  2. Добавьте docker в список плагинов следующим образом: plugins=(docker ...)
person mgyongyosi    schedule 05.08.2017
comment
Я заставил свою работать нормально, используя руководство по ссылке docs.docker.com/compose/completion/# zsh и убедиться, что plugins=(docker,git ...) и перезагрузил оболочку, и она отлично работает, используя успешное завершение табуляции. - person jamescampbell; 16.12.2017
comment
Он работает, но не отображает контейнеры, если вы попытаетесь запустить docker exec -it - person Barbaros Alp; 16.05.2018
comment
Я пробовал все, и мое автозаполнение Docker не работало на iterm2. Этот ответ решил это для меня, надеюсь, он кому-то поможет: stackoverflow.com/a/45406609/2056484 - person Lucas Bustamante; 24.03.2019
comment
@LucasBustamante Мне это помогло! спасибо! Я заметил, что compinit должно быть в конце конфига. - person zx1986; 10.04.2019
comment
В MacOS Mojave добавление docker в список плагинов работало только после удаления файлов `.zcompdump*' из домашнего каталога (как предлагается в этом ответе stackoverflow. com/a/55341741/1220546) - person Timo Saloranta; 24.04.2019

Убедитесь, что у вас установлена ​​последняя версия oh-my-zsh, выполнив: upgrade_oh_my_zsh

Кроме того, не помешает запустить rm ~/.zcompdump*, испробовав все другие ответы.

Исправил это для меня.

person blkpingu    schedule 17.07.2019
comment
Спасибо, это исправило это для меня! - person Kevin Patrick; 02.03.2020
comment
Работает как шарм! - person Adrian; 22.05.2021