Próbuję utworzyć prostą funkcję skryptu vim i mam problemy. Ta funkcja musi pobrać dwa ciągi wejściowe i uruchomić wyszukiwanie oraz zastąpić wszystkie ich wystąpienia. Mam następujący teraz:Parametr funkcji VIM Przekazywanie
function! FindAndReplaceAll(from, to)
echo a:from
:%s/a:from/a:to/gc
endfunction
Kiedy zrobić:
:call FindAndReplaceAll("test", "test2")
Echo a: z działa poprawnie, ale z:% s ... działa na zi do literałów zamiast. Zauważyłem, że moje wysokie oświetlenie składni vim nie podkreśla ich jako zmiennych, więc wydaje mi się, że mam podstawowy problem z składnią.
Moje pytania są następujące:
- Jaka jest poprawna składnia z tym? Byłbym wdzięczny za wyjaśnienie, dlaczego, a nie tylko odpowiedź. Dlaczego powyższe jest nieprawidłowe?
W każdym razie, aby umożliwić to nazywać jak
call FindAndReplaceAll (testy, test2)
Więc nie trzeba dodawać cytaty ...