Vim İpuçları : Record, Play

Daha önce Vim”in favori text editörüm olduğundan bahsetmiştim. Geçenlerde işyerinde bana verilen ID numaralarını SQL IN sorgusu ile sorgulamam gerekiyordu. Aşağıdakine benzer bir sorgu yazıyorudum.

&lt;br /&gt;<br />
SELECT * FROM Customer WHERE SapID IN (&quot;122341&quot;,&quot;232323&quot;)&lt;br /&gt;<br />

Elimdeki excel listesinde bu ID”ler kolon olarak verilmiş bunları IN sorgusuna eklemem lazım. Ardından her numaranın başına ve sonuna tırnak işareti koyup virgülle ayırmam lazım vb..Robe de mariée simple anlayacağınız uzun iş. Bu tarz işlerde oldukça tembelliğim tutar. Ben en iyisi bunu isviçre çakım VIM editörü ile yapayım dedim 2 saniyede.

VIM”de yaptığınız her işlemi kayıt edip ardından kayıt ettiğiniz şeyleri tekrarlatabilirsiniz. Bende bu mekanizmayi bir ID”nin sağına soluna tırnak ve sonuna virgül koymak için kullandım.

Eğer VIM”de komut modundaysanız “q” harfine bastıktan sonra vereceğiniz harfi makro olarak alıp tekrar komut modunda “q” harfine basana kadar herşeyi bu makroya yazacaktır. Ardından komut modunda kaç defa bu makroyu tekrarlatmak istiyorsanız o sayıyı ardından “@” işareti ile makro adını verirseniz VIM Robe de soirée bleu otomatik olarak verdiğiniz sayı kadar makroyu çalıştıracaktır. Aşağıdaki örnekte önce sağına soluna tırnak ve virgül eklemeyi “a” harfli makroya attım ardından komut modunda “9@a” olarak yazdığım komut ile “a” makrosunu 9 defa çalıştırıp bütün ID”ler için aynı işlemi tekrarlattım.

En sonunda videoda gördüğünüz gibi oluşan ID”leri copy-paste ile SQL dosyama yapıştırmak kaldı.Umarım faydalı olmuştur. Bundan sonra faydalı buldumğum VIM ipuçlarını burada paylaşmaya çalışacağım…

2 thoughts on “Vim İpuçları : Record, Play

  1. jjclockwise

    ben genelde şöyle bir ifade kullanarak yapıyorum:

    :%s/^.*$/”,/g
    ‘.*$ ifadesi tüm satırı seçiyor,

    ”, ifadesinde de eşleşen karakterlere denk geliyor

  2. Berat

    notepad++ da da makro kullanarak buna benzer düzenlemeleri kolaylıkla yapabiliyorsunuz. [ek bilgi vermek istedim :)]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>