【開発】ヤバい!zshの補完が効かなくなった時にやったこと

f:id:keisuke_ohta:20160302234125j:plain

はじめに

WEBエンジニアであればLinuxコマンドは毎日のように叩いていると思います。また、aliasやautocompleteを駆使して効率的な開発環境を日々追求している人も少なくないでしょう。

僕も自分なりに開発効率を挙げるためにいろいろ取り組んでいるのですが、そういう人にとって補完が効かなくなるとかストレス以外の何物でもありません。

表題の件ですがそんな事案が本日発生し無事解決しましたので、今日はそのことについて共有したいと思います。

現象

Nginxの設定ファイルをいじろうとしてvim /etって打って、普段どおりタブを押したら...

$ sudo vim /et
_arguments:448: _vim_files: function definition file not found
_arguments:448: _vim_files: function definition file not found
_arguments:448: _vim_files: function definition file not found

ふぁ!?

解決策

ホームディレクトリにある.zcompdumpっていうファイルを削除すればいいらしいです。コマンドはこんな感じ。

$ rm ~/.zcompdump
$ exec zsh # これを忘れずに!

まとめ

僕も初めて発生した現象なのでびっくりしましたが、同じような現象が起きた時に参考にしてみてください。

参考サイト

arguments_448 vim_files function definition file not found · Issue #518 · robbyrussell_oh-my-zsh ruby - ZSH complains about RVM _rvm_cleanse_variables function definition file not found - Stack Overflow

photo credit: solarized via photopin (license)