vi mozgasnyi sorok kiirasa masik allomanyba :set number sorszam megadas nelkul

:set number hasznalataval ugye kiirja a sorok ele a sorszamot es tudom ezt hasznalni:
120,134w/allomanynev
Tudok-e sorszam nelkul hasonlo parancsot kiadni, pl az aktulis sortol 15 sornyit lefele:
 .,15j w /allomanynev
2 bekezdesnyit lefele
 .,2} w /allomanynev
 

Hozzászólások

Szerkesztve: 2022. 06. 11., szo – 20:24

Aktuális sortól 15 sornyi szöveg kiírása új fájlba (jelenlegi sor és további 14 másik):
:,+14w newfile

Ezt a tudást nem is a vi/vim tudja, hanem benne az ex (és külön a sed), ami az ed-en alapul. Ennél fogva csak sorszámokat, és relatív címzést támogat ez a :-tal kezdődő megoldás, de objektummennyiségeket vi/vim módra nem, tehát a 2}w nem fog működni.

Látom egyébként, hogy ezt a szegény vi-t nagyon megszálltad most. Ez valami jubileum, vagy csak rád jött? :D

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Ennél fogva csak sorszámokat, és relatív címzést támogat

Azért még tud egyet s mást :-)

:?lo?-2,/szamár/+3s/macska/kutya/4

Az aktuális sortól visszafelé megkeresi az első olyan sort amiben a "lo" szöveg szerepel és ahhoz képest még 2 sorral előrébb megy (kezdőpont);

szintén az aktuális sortól előre megkeresi az első "szamár" szót tartalmazó sort, és ahhoz képest még 3 sort lejjebb lép (végpont)

(és a két pont közötti minden sorban a negyedik macska szót kutyára cseréli)

címzésként használható :

. - az aktuális sor

$ - a fájl utolsó sora

% - az elsőtől az utolsóig az összes sor

?izé? és /ecet/ - visszafelé, előrefelé keres

'a - az ma (mark A) paranccsal létrehozott un. "A" könyvjelzőt tartalmazó sor

 

Ezek itt a vi tudása, hogy a vim ennél tud-e többet, azt passzolom.

Ezt a ?kifejezés? megoldást nem ismertem. Relatív címzésen azt értem, hogy ilyen 2w, 2} és hasonló huncutságokat nem tud, az megint a vim-nek a területe már.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)