Вот пример фрагмента из моего текущего сеанса zsh:
llama@llama:...Code/cpp/KingOfTheCode$ make
clang++ -std=c++11 -Iinclude src/*.cpp kothsrc/*.cpp -pthread -o KingOfTheCode
llama@llama:...Code/cpp/KingOfTheCode$ ./
Completing executable file or directory
include/ KingOfTheCode* kothsrc/ src/
(Я набрал .
, /
, а затем символ Tab для автозаполнения.)
Почему zsh предлагает каталоги, когда я набираю ./<tab>
? Я явно хочу выполнить файл, и если бы я хотел выполнить что-то в подкаталоге, часть ./
была бы бесполезна.
Как я могу предотвратить это раздражающее поведение? Просто для ясности: мое желаемое поведение заключается в том, что автозаполнение для ./<...>
исключает каталоги и ищет только исполняемые файлы.
./
будет просто ссылаться на текущий каталог. Почему тогда подкаталог бесполезен? - person tiguchi   schedule 29.10.2014./
, обычно это происходит потому, что я хочу выполнить что-то в текущем каталоге (например,./something.py
). Если бы я хотел выполнить, скажем,foo/bar/baz/something.py
,./
был бы бесполезен, потому что он подразумевается. - person tckmn   schedule 29.10.2014setout autocd
действовало, поэтому мы можем ввести./
,Tab
,Tab
... для подкаталогаcd
ing. Но лично я все равно не используюautocd
часто. - person hchbaw   schedule 25.12.2014s/setout/setopt/
. - person hchbaw   schedule 25.12.2014