zshのtab補完について
よろしくお願いします。
つい最近、tcshからzshに乗り換えて、設定をいろいろいじっているのですが、
Tabキーによる補完の動作で、デフォルト(?)だと使いづらいものがあり、
なんとかしたいのですが、設定方法がわからず困っています。
ご助言をお願い致します。
変更したいのは以下の2点の動作です。
=========================================================
(1) "./"に続く補完で、実行権限なしのファイルも補完候補にしたい。
=========================================================
> ls -l
-rwxrwxrwx+ 1 username main.sh
-rw-r--r--+ 1 username main2.sh
> ./ma(ここでTabキー)
上記のようにtabキーを押すと、補完候補には実行権限のあるmain.shしか表示されず、
実行権限なしのmain2.shが候補になりません。
> chmod a+x main2.sh
のように実行権限を付け直ければいいのですが、何度もやるのはさすがに面倒なので、
実行権限なしのファイルも補完候補になるようにzshで設定したいのです。
===============================================
(2) $PATHにある実行ファイルを補完候補にしない。
===============================================
> ls
main.sh
> sh ma(ここでTabキー)
mac2unix make.exe makejvf manlint ......... main.sh ...... make makeinfo.exe ...
上記のように、例えばshコマンドに続く補完候補には、
当然のようにカレントディレクトリ内のファイルが来ると思っていたのですが、
$PATHにあるようなコマンドまで補完候補になってしまいます。
これはコマンドごとに補完候補を除外するしかないのでしょうか?
以上2点が困っている点なのですが、解決方法かもしくはヒントでも結構ですので、
ご教授お願いします。
---------------------------------------------------------------
(私の.zshrcに設定してある内容で、補完に関する項目は以下の内容です。)
autoload -U compinit; compinit -u
setopt list_packed
compdef _files zsh "*.zsh"
zstyle ':completion:*:vim:*' ignored-patterns '*?.o' '*?~'
---------------------------------------------------------------