• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:zshのtab補完について)

zshのtab補完について

このQ&Aのポイント
  • zshのtab補完についての問題と解決策について説明します。
  • 問題点として、"./"に続く補完で、実行権限なしのファイルが補完候補にならないことや、$PATHにある実行ファイルが補完候補になることが挙げられます。
  • 解決策として、zshの設定ファイルである.zshrcに特定のオプションを追加することで、問題を解決することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

(1) "./"に続く補完で、実行権限なしのファイルも補完候補にしたい。 でも、「./main2.sh」ではpermission deniedで実行できないから、補完されても意味無いですよね? ./main2.shと実行したいのなら、面堂でも chmod +x main2.sh 等と実行権限を設定することが必要です。 有効なものだけ候補に出す、というのは、理にかなった方法だと思います。 コマンドが入るべきところでは、候補にはなりませんが、ファイル名が入るべきところでは、./main2.sh もちゃんと候補になります。 % ./main[TAB] # では main1.sh # だけが候補 % cat ./main[TAB] # では main1.sh main2.sh # main2.shも候補になる (2) $PATHにある実行ファイルを補完候補にしない。 sh の引数として、PATH上のファイルを指定できるのは仕様ですから、候補として挙がっても間違いではありません。 sh ./ma[TAB] というように、相対パス、または絶対パスで書けば、PATHは探しにいきません。 あとは、shの補完設定を変更することでしょうか。

jshannon9
質問者

お礼

ご回答ありがとうございます。 やはり仕様の部分もあるのですね。 bashやtcshと違い、 かなり踏み込んで補完の自動判別がされるなぁと感じたのですが、 これは慣れれば、むしろ良い機能なのかもしれません。 ひとまずお礼までに。

関連するQ&A