
Ich verwende zsh mit zim
, was im Allgemeinen ausgezeichnet ist. Idealerweise würde ich die Tab-Vervollständigung von umount so einrichten, dass nur Elemente in vorgeschlagen werden /run/media/$USER
. Im folgenden Beispiel handelt es sich um ein einzelnes Volume mit dem Namen L_drive
.
$ cd /run/media/sparhawk
$ ls
L_drive
$ umount <Tab>
-- device label --
binfmt_misc debugfs fusectl mqueue run systemd-1
cgroup dev gvfsd-fuse proc securityfs tmpfs
configfs devpts hugetlbfs pstore sys
-- device path --
/dev/sda2 /dev/sdb5 /dev/sdb6 /dev/sdc1
-- mount point --
/ /run/media/sparhawk/L_drive /sys/fs/cgroup/pids
/dev /run/user/1000 /sys/fs/cgroup/systemd
/dev/hugepages /run/user/1000/gvfs /sys/fs/fuse/connections
/dev/mqueue /sys /sys/fs/pstore
/dev/pts /sys/fs/cgroup /sys/kernel/config
/dev/shm /sys/fs/cgroup/blkio /sys/kernel/debug
/HDD /sys/fs/cgroup/cpu,cpuacct /sys/kernel/security
/home /sys/fs/cgroup/cpuset /tmp
L_drive /sys/fs/cgroup/devices /var/cache
/proc /sys/fs/cgroup/freezer /var/log
/proc/sys/fs/binfmt_misc /sys/fs/cgroup/memory /var/tmp
/run /sys/fs/cgroup/net_cls
Es gibt dort eine Menge Sachen, die ich niemals per Tab vervollständigt haben möchte. Ich möchte alle diese Vorschläge entfernen und die Tab-Vervollständigung nur für den absoluten Pfad belassen /run/media/sparhawk/L_drive
.
FWIW zim hat folgendesInsektbei denen der relative Pfad nach der Eingabe eines Buchstabens nicht gefunden wird.
$ umount L<Tab>
-- no matches found --
aber vorausgesetzt, dass ich alle anderen Vorschläge entfernen kann und nur den absoluten Pfad belasse /run/media/$USER/*
, ist dieser Fehler hinfällig.
Antwort1
Du kannst den ... benutzenignored-patterns
Stilum einige Vervollständigungen auszuschließen.
zstyle ':completion:*:umount:*' ignored-patterns "^/run/media/$USER/*"
Mit den Standardeinstellungen können Sie weiterhin eine Vervollständigung für ignorierte Muster erhalten, wenn kein nicht ignorierter Kandidat vorhanden ist.
(Diese Antwort gilt für einfaches zsh unter Verwendung des compinit
Vervollständigungssystems. Es ist möglich, aber unwahrscheinlich, dass zim irgendwie dafür sorgt, dass es nicht funktioniert.)