2013-02-18 17 views

Odpowiedz

3

spróbować tej linii:

:s/123/\=b:myvar/ 
9

odpowiedź Kent działa dobrze na t on część zamienną; dla rodzajowego wstawiania podczas wpisywania polecenia interaktywnie zastępczej, można wstawić dowolny wyraz (nie tylko zmienne, a także funkcje, etc.) poprzez <C-R><C-R>= (te muszą być wpisane jako Ctrl + R, nie dosłownie):

:substitute/<C-R><C-R>=b:myvar<CR>/replacement/<CR> 

wewnątrz skryptu, można użyć :execute:

:execute 'substitute/' . b:myvar . '/replacement/' 
+0

To nie działa, jeśli zmienna użyta w miejscu 'b: myvar' zmieni się, z tego, co mogę powiedzieć, na przykład, jeśli jest to zmienna pętli. – hippietrail

+1

@hippietrail: pętla musi znajdować się w pobliżu linii, więc to działa. Jedynym ograniczeniem jest zmienna zamiana, ale musisz użyć wyrażenia, a nie prostej zmiennej i zastosować się do odpowiedzi Kenta. –

+0

OK Jestem bardzo nowy w tym aspekcie Vima i miał pętlę pseudo (globalną ze zmienną inkrementującą) wewnątrz prawdziwej pętli. Ale mam to do pracy. Dziękuję za odpowiedź. – hippietrail

Powiązane problemy