Posterous theme by Cory Watilo

Filed under: love

I do LOVE Vim! part III.

Ha egy nagyon hosszú Vim parancsot, akar az ember végrehajtani (mint pl. ez: :%s:^\([A-Z_]\+\)$:select 'update linc.systwodb_rasth set \1 = '||case when sr.ccy != 'HUF' then round(cl.\1,2) else round(cl.\1) end ||' where racc_no = '''||cl.racc_no||''' and \1 = '||cl.\1||' ; ' from linc.systwodb_rasth cl, rasth_tizedes sr where sr.racc_no = cl.racc_no and ( ( sr.ccy = 'HUF' and round(cl.\1) != cl.\1 ) or ( sr.ccy != 'HUF' and round(cl.\1,2) != cl.\1) ) ;\rselect 'commit;' from dual ;\r), akkor sokkal célszerűbb egy külön – akár ideiglenes – bufferben megírni, majd belemásolni a sort egy regiszterbe, és kiadni a :@<regiszter> parancsot.

:help :@

(A fenti az nem is hosszú Vim parancs, hirtelen belepislantva a history-ba, a leghosszabb 1211 karakter volt J…)

I do LOVE Vim! part II.

/SELECT$^Mj:.,/DROM~@kb~@kb~@kb~@kbFROM$/ yank m^M?spooo~@kbl^Mmp"mp/SELECT$^Mj/spool SYS^M:.+1,/SELECT/-1 s: .* \([A-Za-z0-9_]\1~@kb+\) *,\?~@kb~@kb:\1|^M?spool^M:.,/SELEX~@kbCT/-1 s:^ ^*~@kb~@kb-~@kb*::^M/spool SYS^M:.+1,/SELECT/-1 join^M:s: ::g^M:s:.*:select '&' from dual ;^M

Ez egy sor. A w regiszter tartalma per pillanat. És most: 2500@w. OMG, működik. Elsőre.