por ejemplo, supongamos que hice
:let foo=pattern
y ahora quiero realizar Ggrep patter
pero usar variable en foo
lugar de la patter
cadena 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 pattern
que 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
:exe
solución, puede "leer" el contenido de una variable en la línea de comando utilizando el=
registro de expresión. Por ejemplo, escriba,:Ggrep
luego presione Ctrl- ry luego escriba=foo
y presione Enter. Suponiendo que la variablefoo
contení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