Eu sou um usuário tcsh muito tempo, mas todos os garotos legais parecem estar usando ou bash ou zsh hoje em dia (isto é, padrões de conclusão para git ou coisas estão disponíveis para bash e zsh, raramente para tcsh).
Meu problema é que os dois shells têm comportamentos relacionados à conclusão de caminhos que me deixam louco, e estou com muita dificuldade em descobrir como alterá-los para o meu gosto.
Veja alguns exemplos do que estou acostumado a fazer no tcsh que os outros fazem de maneira diferente:
-
/u<TAB>
conclui para /usr/
- Em seguida, a guia lista o conteúdo de
/usr/
-
/usr/li<TAB>
conclui para /usr/lib
e lista lib/
e libexec/
- Pressionando a guia uma segunda vez, conclui para
/usr/lib/
- Pressionar a guia uma terceira vez lista o conteúdo de
/usr/lib/
No bash, não importa quantas vezes eu clique em "tab", ele nunca passará de /usr/lib
, exigindo que eu digite a barra, o que eu não quero fazer.
Em zsh, /usr/li<TAB>
primeiro é preenchido com /usr/lib
, outra guia lista lib/
e libexec/
, uma terceira tabulação completa para /usr/lib/
e todas as guias subseqüentes alternam entre /usr/lib/
e /usr/libexec/
. Não tenho ideia de como superar esse ponto. Eu só quero ir de /usr/li
para /usr/lib
, então /usr/lib/
, então liste seu conteúdo.
O mesmo vale para python. No tcsh, eu digito pyt<TAB>
, ele completa em python
e lista python
, python2.5
, python2.6
, etc, então uma segunda guia é definida para python e adiciona o espaço. No bash ele requer que eu digite o espaço e em zsh ele roda infinitamente como no primeiro exemplo.
Qualquer ajuda para domesticar essas camadas seria muito apreciada. Eu realmente não quero perder tempo aprimorando os outros aspectos dessas camadas até resolver o problema acima.