Työskentelen VIm -palvelun kanssa ja yritän asettaa etsi ja korvaa -komento tehdäksesi korvauksia, joissa voin käyttää uudelleen säännöllistä lauseketta, joka on osa hakumerkkijononi. 
 Yksinkertainen esimerkki olisi rivi, johon haluan korvata (10) kohtaan {10}, missä 10 voi olla mikä tahansa numero. 
 Tulin niin pitkälle 
 .s/([0-9]*)/what here??/ 
 joka vastaa tarkalleen haluamaani osaa. 
 Nyt vaihdin, yritin 
 .s/([0-9]*)/{\0}/ 
 Mutta, tämä antaa tulosteen {(10)} 
 Sitten yritin 
 .s/(\zs[0-9]*\ze)/{\0}/ 
 Se kuitenkin antoi me ({10}), jonka myös suljin, mutta en sitä, mitä haluan. 
 Luulen tarvitsevani jonkinlaista muuta merkintää / takaisinviittausta tämän  
 
, mutta en tiedä mistä etsiä. Kysymys kuuluu, voidaanko tämä tehdä VIM: ssä, nd jos on, miten? 
 
 Vastaa 
 \0 on koko ottelu. Jos haluat käyttää vain osan siitä, sinun on määritettävä se näin ja käytettävä \ 1 
.s/(\([0-9]*\))/{\1}/ 
 Yksityiskohtaisemmat ohjeet löydät  täällä  tai vim-ohjeessa. 
 Kommentit 
 
 vastaus 
 Olen äskettäin perinyt vanhan koodin ja halusin korvata kaikki esiintymät, kuten: 
print "xx" print x,y print "xx" 
 – 
logging.info("xy") 
 tai 
logging.info(x,y) 
   Edellisen vastauksen pohjalta   ja toivoen, että joku hyötyy siitä, käytin seuraava komento, joka muuttaa kaikki esiintymät: 
%s/print\( .*\)/logging.info\(\1\)/g 
 Jos korvaat % sanoilla . ja poista /g päädyt 
.s/print\( .*\)/logging.info\(\1\) 
, jonka avulla voit mene yli jokainen ottelu ja valitse, muutatko sitä vai ei. 
 
 Vastaa 
 Parempi tapa antaa sinun käydä läpi jokainen ottelu on lisää ”c” koodin loppuun sen sijaan, että menisit rivi riviltä 
%s/print\( .*\)/logging.info\(\1\)/gc 
 Kommentit 
-  Tämä ei todellakaan ' t vastaa alkuperäiseen kysymykseen millään tavalla