por ejemplo, supongamos que hice
:let foo=pattern
y ahora quiero realizar Ggrep patterpero usar variable en foolugar de la pattercadena literal .
:echo foo
salidas pattern, pero
:Ggrep foo
solo busca foo
ACTUALIZAR:
construir una cadena de comando y luego ejecutar: ejecutar en él no es una solución, es un hack. Y se rompe con cualquier valor de variable no trivial.

Ggrep(G mayúscula)?Respuestas:
No se trata de variables, pero tal vez el comando vim abreviado puede ayudar. Probar desde la línea de comando:
Entonces
Completará 'foo' a su 'patrón'.
fuente
echo foo. Oppsecho patternque no es una variable. Este es un truco y un error.qué pasa:
fuente
let xyz = tabpagenr()entoncestabnext xyz. El lenguaje de secuencias de comandos de Vim es tan defectuoso como su entorno modal es impecable.Si no le gusta la
:exesolución, puede "leer" el contenido de una variable en la línea de comando utilizando el=registro de expresión. Por ejemplo, escriba,:Ggrepluego presione Ctrl- ry luego escriba=fooy presione Enter. Suponiendo que la variablefoocontenía "patrón", su línea de comando ahora debería verse así:Esto tiene la ventaja de que puede ver el comando real que se ejecutará e incluso modificarlo antes de presionar Enterpor segunda vez.
Ver:
fuente