zsh Completion System

16/09/2010 - 14:01 von Markus Wichmann | Report spam
Hi all,

ich bin gerade leicht am verzweifeln beim Einstellen der Completion
meiner zsh. Erstmal die relevanten Eintràge aus der .zshrc:

zstyle ':completion:*' add-space true
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _list _oldlist _expand _complete _ignored \
_match _correct _approximate _prefix
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' max-errors 1 numeric
zstyle ':completion:*:functions' ignored-patterns '_*'

zstyle ':completion:*' completions 2
zstyle ':completion:*' file-sort name
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' glob 1
zstyle ':completion:*' ignore-parents parent pwd ..
zstyle ':completion:*:cd:*' ignore-parents parent pwd ..
zstyle ':completion:*' insert-unambiguous true
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character \
to insert%s
zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' \
'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._-/]=* r:|=*' \
'l:|=* r:|=*'
zstyle ':completion:*' max-errors 3
zstyle ':completion:*' menu select
zstyle ':completion:*' original true
zstyle ':completion:*' preserve-prefix '//[^/]##/'
zstyle ':completion:*' prompt 'With %e mistakes'
zstyle ':completion:*' select-prompt %SScrolling active: current selection \
at %p%s
zstyle ':completion:*' squeeze-slashes true
zstyle ':completion:*' substitute 1
zstyle ':completion:*' verbose true
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zshcache
zstyle :compinstall filename '/home/markus/.zshrc'

autoload -Uz compinit
compinit
#Umbrüche eingefügt.

So. Jetzt hab ich damit folgendes Problem: Ich möchte, dass, wenn es in
er Ergebnisliste überhaupt nur ein Ergebnis gibt, dieses direkt
eingefügt wird. Konkreter:

Momentanes Verhalten:
$ sudo /ro<TAB>
Completing executable file or directory
/root
<TAB>
-> /root wird eingesetzt.

Gewünschtes Verhalten:
$ sudo /ro<TAB>
-> /root wird eingefügt.

Tschö,
Markus
 

Lesen sie die antworten

#1 Thorsten Kampe
30/09/2010 - 13:01 | Warnen spam
* Markus Wichmann (Thu, 16 Sep 2010 14:01:11 +0200)
ich bin gerade leicht am verzweifeln beim Einstellen der Completion
meiner zsh. Erstmal die relevanten Eintràge aus der .zshrc:
[...]
So. Jetzt hab ich damit folgendes Problem: Ich möchte, dass, wenn es
in er Ergebnisliste überhaupt nur ein Ergebnis gibt, dieses direkt
eingefügt wird. Konkreter:

Momentanes Verhalten:
$ sudo /ro<TAB>
Completing executable file or directory
/root
<TAB>
-> /root wird eingesetzt.

Gewünschtes Verhalten:
$ sudo /ro<TAB>
-> /root wird eingefügt.



Bei mir funktioniert's. Meine Completion-Optionen sind:

# COMPLETION
setopt alwayslastprompt \
no_alwaystoend \
autolist \
automenu \
autonamedirs \
autoparamkeys \
autoparamslash \
autoremoveslash \
no_bashautolist \
completealiases \
completeinword \
globcomplete \
hashlistall \
no_listambiguous \
no_listbeep \
listpacked \
listrowsfirst \
listtypes \
no_menucomplete \
no_recexact

Oder versuch's einmal in der zsh-Mailingliste.


Thorsten

Ähnliche fragen