clé se lient au nom de fichier complet chaque fois que le contexte est en Zsh

StackOverflow https://stackoverflow.com/questions/2658534

  •  27-09-2019
  •  | 
  •  

Question

Parfois, je veux un nom de fichier au lieu de ce que zsh suppositions pour moi. Par exemple, j'ai un fichier PNG sans suffixe .png approprié, ce qui rend zsh pense qu'il est pas une image et ne la liste quand je tape Tab aux arguments complets de display.

Je me demande s'il y a une séquence clé qui complète un nom de fichier où le contexte est, comme ^XC pour _correct_filename, ou comment configurer zsh faire la chose?

Était-ce utile?

La solution

Vous pouvez ajouter une clé de liaison à faire ce que vous voulez:

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

Modifier Ajouté $PREFIX

Vous pouvez ajouter ces lignes à votre fichier ~/.zshrc.

Cela fait la liste d'achèvement de tous les fichiers lorsque vous appuyez sur Ctrl - x Tab à chaque étape au lieu de Tab . Vous pouvez choisir une autre combinaison de touches qui vous convient le mieux.

Ou faire complétions de ImageMagick comprennent toujours tous les fichiers, essayez de la modifier (effectuer une sauvegarde en premier) le fichier /usr/share/zsh/functions/Completion/Unix/_imagemagick (ou similaire) et changer pour commenter la ligne existante qui commence par _files et ajouter le nouveau montré:

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

Autres conseils

La réponse de Dennis n'a pas augmenté tilde pour moi, donc je recevrais des choses comme complete-files: no matches found: ~/ma* quand j'ai essayé d'invoquer sur foo ~/ma. J'ai trouvé un autre dans le zsh FAQ qui leur expansion, bien que:

zle -C complete-file complete-word _generic
zstyle ':completion:complete-file::::' completer _files
bindkey '^xF' complete-file
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top