Pregunta

A veces quiero un nombre de archivo en lugar de lo zsh conjeturas para mí. Por ejemplo, tengo un archivo PNG sin sufijo .png adecuada, lo que hace pensar que no zsh es una imagen y no la lista de que cuando escribo Tab a los argumentos completos de display.

Me pregunto si hay una secuencia de teclas que completa un nombre de archivo donde el contexto es, como ^XC para _correct_filename, o cómo zsh configure para hacer la cosa?

¿Fue útil?

Solución

Se puede agregar una clave de unión a hacer lo que quiera:

zle -C complete complete-word complete-files
bindkey '^X\t' complete
complete-files () { compadd - $PREFIX* }

Editar Agregado $PREFIX

Se puede añadir estas líneas a su archivo ~/.zshrc.

Esto hace que la lista de terminación de todos los archivos cuando se pulsa Ctrl - x Tab en cada paso en lugar de Tab . Se podía elegir otra combinación de teclas que más le convenga.

O para hacer terminaciones de ImageMagick siempre incluyen todos los archivos, intentar editar (hacer una copia de seguridad primero) el /usr/share/zsh/functions/Completion/Unix/_imagemagick archivo (o similar) y cambiarlo a comentar la línea existente que comienza con _files y añadir la nueva que se muestra:

if (( $# )); then
  # _files "$@" -g "*.(#i)(${~formats//:/|})(-.)"
  _files "$@"
  return
fi

Otros consejos

respuesta de Dennis no se expandió tilde para mí, así que me gustaría conseguir cosas como complete-files: no matches found: ~/ma* cuando traté de invocar en foo ~/ma. Lo que encontrar una alternativa en el zsh FAQ que ampliará ellos, sin embargo:

zle -C complete-file complete-word _generic
zstyle ':completion:complete-file::::' completer _files
bindkey '^xF' complete-file
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top