2011-10-26 4 views
5

Estoy intentando configurar mi ~/.zshrc para que la finalización del código en archivos/dirs funcione como lo necesito. He encontrado varios recursos en línea en la sintaxis de finalización de zstyle, y ejemplos de código, pero algunas partes siguen siendo magia negra para mí.¿Cómo funcionan los argumentos de la lista de coincidencias en zsh zstyle completion?

Hasta ahora, aquí es donde yo estoy, después de algún tocar el violín y pruebas:

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*'

Aquí es lo que entiendo de ella:

  • zstyle ':completion:*' significa que vamos a definir una valor de configuración para la finalización
  • matcher-list es la configuración que actualizamos, aquí se define cómo zsh coincidir archivos/dir para sugerir
  • 'm:{a-zA-Z}={A-Za-z}' 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*' son los argumentos (valores) para pasar a la configuración matcher-list.
  • Aquí tengo dos argumentos, separados por un espacio. Significa zsh primero intentará encontrar los archivos que coinciden con el primer argumento, y si se encontró nada tratarán los archivos que coinciden con el segundo arg

Y aquí se vuelve borrosa:

  • consigo que 'm:{a-zA-Z}={A-Za-z}' haga que el casamiento sea insensible, pero no entiendo muy bien la sintaxis.
  • También entiendo que 'm:{a-zA-Z}={A-Za-z} l:|=* r:|=*' todavía es insensible a las mayúsculas y minúsculas, pero también busca la coincidencia en toda la cadena, no solo en el inicio. Pero, tampoco consigo la sintaxis.

¿Alguien puede confirmar mis afirmaciones anteriores y corregirlas si es necesario, así como detallar la sintaxis vudú de los argumentos?

Gracias

EDIT: Ah, y lo siento si la pregunta es más ajustada a superuser.com, que tenían una difícil averiguar qué sitio era más adecuado para ello.

Respuesta

Cuestiones relacionadas