最近サボってるけど、仕事が忙しい。そのうちつじつまを合わせる。
docker
はサブコマンドもオプションも多く人類が覚えられるものではないのでシェルの補完機能を使うと良い。
実は公式に提供されていてMacでインストーラを使ってインストールした場合
% ls /Applications/Docker.app/Contents/Resources/etc docker-compose.bash-completion docker-machine.bash-completion docker.bash-completion docker.zsh-completion docker-compose.zsh-completion docker-machine.zsh-completion docker.fish-completion
という感じで置かれている。 docker-compose
や docker-machine
の補完もある。
zshならば fpath
内に置 くなど各シェルの作法インストールすれば補完が効くようになる。
zshに場合(bashやfishはしらない)は、サブコマンドやオプションだけでなくハッシュ値も保管してくれる。
% docker run <tabを押す> Completing images 1007ab9c4581 92724e305c38 40fa36d8e79b ad2648c45977 5df315b047a3 25c39caa1599 30e6dc1b9dcf 6e9f5ece58d0 354447abe1c5 d59f608eb9c9 4c3bd6be5c7a b3f973d4e73b 64c2d103360e 01f95bd17056 54437a6ec1da 84ad0e94bd24 4d1f0af3a856 25723f5fbfb7 9a98002e9550 c7cf82e40153 b4130a0cb60a cfa45172fcf6 0b31442c6ffe 857a11b97531 af0bae28e276 a530821a401d 90149e0c6c6f a3c3a54b0eed a5593d6de89c ea7cd87f1988 d0fe9dafe363 -- <none> in <none> 138bd936fa29 -- 1.9 in golang 138bd936fa29 -- 1.9.2 in golang 5709795eeffa -- 5.7 in mysql 8ba3235ead08 -- latest in **************** af7255f30d48 -- latest in **************** ba52c9ef0f5c -- 1.8 in golang ec2b525211f3 -- latest in **************** Completing repositories **************** golang **************** **************** mysql
今年一番ライフチェンジングだった。
ファイル自体はgithubで普通に公開されているものなのでそこから取ってくるのでも良い。 GitHub - felixr/docker-zsh-completion: zsh completion for docker