Sehr langsame Autovervollständigung beim Aufruf von Manpages

Krull

Well-Known Member
Hallo,

wenn ich z. B. 'man sendm' eingebe und dann TAB drücke, dauert es ungefähr 10 Sekunden (sic) bis die Shell Vorschläge zur Vervollständigung macht. Sendmail ist hier nur ein beliebiges Beispiel. Das Problem scheint aber irgendwie mit man zu tun zu haben. Wenn ich bei anderen Kommandos die Autovervollständigung verwende, geht's viel schneller. Auch Optionsschalter, z. B. 'gpp --gen-k' + TAB --> gpg --gen-key geschieht praktisch ohne Verzögerung.

Woran kann das liegen? Muss da erst noch ein Index so sowas gebaut werden?
 
Wenn mich nicht alles täuscht -
dann nutzt doch das autocomplete der tcsh auch de Einträge des entsprechenden
~/.history files

dann könnte es doch sein, dass da viel trash mit 'man ....' drinsteht?
Also könntest Du die ~/.history doch mal bereinigen?
 
Ich benutze die zsh. Hab eben auch mal kurz auf csh und tscsh umgestellt. Dort scheint es allerdings gar keine Vervollständigung bei man zu geben.
Den fraglichen Rechner habe ich vor ca.drei Monaten aufgesetzt. Ich meine dieses Verhalten war schon von Anfang an da.

Die .history lösche ich regelmäßig. Da stehen nur wenige duzend Zeilen drin.
 
... Hab eben auch mal kurz auf csh und tscsh umgestellt. Dort scheint es allerdings gar keine Vervollständigung bei man zu geben.
....

Die .history lösche ich regelmäßig. Da stehen nur wenige duzend Zeilen drin.

Was steht denn in der /etc/csh.cshrc drin?

Code:
set autolist
set addsuffix
set autocorrect
set autoexpand

???
 
Wenn ich mal raten darf, zur zsh: Es ist entweder kein Completion-Cache definiert oder das Verzeichnis kann nicht geschrieben werden. Eventuell wird auch 'compinit' ohne Dump-File aufgerufen, wobei sich das eigentlich nur beim Starten der Shell auswirken sollte.

Und Manpage-Completion in der tcsh: Liefert FreeBSD da inzwischen eine Definition mit? ich habe die noch manuell gesetzt, aber pflege meine tcsh-Config nicht mehr wirklich, seitdem ich auf zsh umgestiegen bin.

Code:
complete {man,where,whereis,which} 'p/1/c/
 
In /etc/csh.cshrc steht gar nichts (außer Kommentaren).

Bezüglich Vervollständigung steht das hier in meiner zshenv:
Code:
autoload -U compinit
compinit

zstyle ":completion:*" menu select #Tabmenü für die Autovervollständigung
zstyle ':completion:*' max-errors 1 numeric
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \
                             /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin

Ich finde eben komisch, dass es nur das man-Kommando betrifft. Alle anderen Befehle werden ziemlich flott ergänzt.
 
Zurück
Oben