
Yo uso zsh con zim
, que en general es excelente. Idealmente, me gustaría desmontar la finalización de pestañas para sugerir solo elementos en formato /run/media/$USER
. En el siguiente ejemplo, se trata de un único volumen denominado 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
Hay muchas cosas allí que nunca querría completar con pestañas. Me gustaría eliminar todas estas sugerencias y dejar solo la función de tabulación para la ruta absoluta /run/media/sparhawk/L_drive
.
FWIW zim tiene lo siguientebichodonde no se encuentra la ruta relativa después de escribir una letra.
$ umount L<Tab>
-- no matches found --
pero suponiendo que pueda eliminar todas las demás sugerencias, dejando solo la ruta absoluta en /run/media/$USER/*
, entonces este error es discutible.
Respuesta1
Puedes usar elignored-patterns
estilopara excluir algunas terminaciones.
zstyle ':completion:*:umount:*' ignored-patterns "^/run/media/$USER/*"
Con la configuración predeterminada, aún puede completar patrones ignorados si no hay ningún candidato no ignorado.
(Esta respuesta es para zsh simple que usa el compinit
sistema de finalización. Es posible, pero poco probable, que zim de alguna manera haga que no funcione).