Я давно пользуюсь tcsh, но все крутые ребята в наше время, похоже, используют либо bash, либо zsh (то есть шаблоны завершения для git или что-то еще доступны для bash и zsh, редко для tcsh).
Моя проблема в том, что в обеих оболочках есть поведения, связанные с завершением пути путями, которые сводят меня с ума, и у меня много проблем с поиском, как изменить их по своему вкусу.
Вот пара примеров того, что я привык делать в tcsh, что другие делают по-другому:
/u<TAB>завершается до/usr/- Затем вкладка перечисляет содержимое
/usr/ /usr/li<TAB>завершает работу с/usr/libи перечисляетlib/иlibexec/- Повторное нажатие клавиши tab завершает работу с
/usr/lib/ - При третьем нажатии на вкладку выводится содержимое
/usr/lib/
В bash, независимо от того, сколько раз я нажимаю на tab, он никогда не пройдет мимо /usr/lib , что потребует от меня ввода косой черты, чего я не хочу делать.
В zsh /usr/li<TAB> сначала завершается в /usr/lib , затем в другой вкладке перечисляются lib/ и libexec/ , третья вкладка завершается в /usr/lib/ , а все последующие вкладки переключаются между /usr/lib/ и /usr/libexec/ . Я понятия не имею, как пройти этот пункт. Я просто хочу перейти из /usr/li в /usr/lib , затем /usr/lib/ , а затем перечислить его содержимое.
То же самое касается питона. В tcsh я pyt<TAB> , он завершается до python и перечисляет python , python2.5 , python2.6 и т.д., А затем вторая вкладка устанавливает для python и добавляет пробел. В bash требуется, чтобы я напечатал пробел, а в zsh он бесконечно циклически повторяется, как в первом примере.
Любая помощь в укрощении этих оболочек будет принята с благодарностью. Я не хочу тратить время на настройку других аспектов этих оболочек, пока не решу проблему, описанную выше.
