precmd: vcs_info: function definition file not found
Version 4.3.6 以上でないと vcs_info は利用できないそう
1
vcs_info is available since zsh-beta, version 4.3.6-dev-0+20080929-1 or later
バージョン確認
1 2 3
$ /bin/zsh --version
zsh 4.2.6 (x86_64-redhat-linux-gnu)
なので zsh バージョンアップデートする必要があります。
zsh 5.2 ダウンロード ビルド
1 2 3 4 5
$ cd /usr/local/src $ wget https://sourceforge.net/projects/zsh/files/zsh/5.2/zsh-5.2.tar.gz/download $ tar xvjf zsh-5.2.tar.gz $ cd zsh-5.2 $ ./configure && make && sudo make install
インストールされた zsh バージョン確認
1 2 3
$ /usr/local/bin/zsh --version
zsh 5.2 (x86_64-unknown-linux-gnu)
新たにダウンロードした zsh にシェル変更
1 2
$ echo "/usr/local/bin/zsh" | sudo tee -a /etc/shells $ chsh -s /usr/local/bin/zsh
それでも、まだ出てくるこのエラー。。
1
precmd: vcs_info: function definition file not found
functioncheckEmailwithDNS($email, $check_dns = false){ switch (true) { case !filter_var($email, FILTER_VALIDATE_EMAIL): case !preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email): case !preg_match('/@([\w.-]++)\z/', $email, $m): returnfalse; case !$check_dns: case checkdnsrr($m[1], 'MX'): case checkdnsrr($m[1], 'A'): case checkdnsrr($m[1], 'AAAA'): returntrue; default: returnfalse; } }
if (checkEmailDNS($email, true)) { echo'(^-^) OK Email アドレスフォーマットとして妥当'; } else { echo'(>_<) NG'; }