Vim içinden Python kodu çalıştırmak

Kitabı yavaÅŸ yavaÅŸ okumaya baÅŸladım. Örnekleri daha önce C kodlarını yazdığım Vim ile baÅŸladım, fakat C’deki gibi F9′a basınca derlemiyor(yorumlamıyor). Vim içinde Python için bir çok destek mevcut, bunları okumak için

1
:help python

yazmanız yeterlidir. Burada bir çok örnek verilmiÅŸ de zaten(çok ayrıntılı ÅŸeyler mevcut ileriki zamanlarda tekrar gözden geçirmem gerekecek). Ben bunların bir çoÄŸunu denedim ama hiç biri istediÄŸim gibi olmadı. :pyfile komutu var fakat bu da sadece çıktının son satırını gösteriyor. :!terminal -e ‘python %’ denedim fakat bu da terminalı açtıktan sonra hemen kapatıyordu.

Arch forumlarını biraz gezindim ve en sonunda birinin kullandığı komutu gördüm, çok basit fakat istediÄŸim gibiydi. Vim içerisinden Python’u çalıştırıyor, ve kullandığım dosyayı yorumluyor. Komut ise ÅŸu :

1
:!python %

Burada % bizim dosyamız olur. Ben bunu daha da kolaylaÅŸtırmak için, .vimrc‘ye ÅŸu ibareyi ekledim

1
map <F8> :!python % <enter>

Evet hepsi bu kadar, artık F8 basınca anında vim içinde dosyam yorumlanıyor. Hata varsa düzeltiyorum yoksa yazmaya devam ediyorum. Vim ile daha çok şey öğreneceğiz gibi.

Ekleme: myavuzselim enter tuşuna çare buldu, onu da yukarıda ekledim teşekkürler

Etiketler: , , ,


Benzer Yazılar


12 tane Yorum yapılmış

  1. myavuzselim @ Haziran 5, 2007

    Merhaba,

    Ipucu icin tesekkurler. Fakat enter’a bizim basmamiz gerekiyor, bunu duzeltmek icin attigim ilk sey tuttu:

    map :!python %

    Aslinda tus basina bir dil biraz israf gibi duruyor, soyle birsey yapsak o da dosyamizda shebang line gerektiriyor:

    map :!chmod x % && ./%

    Uzantisina gore dosya calistiracak bir script yazmak gerek.

  2. myavuzselim @ Haziran 5, 2007

    Onceki yorum html’ye kurban gitti. Komutun sonuna <enter> ekleyince enter’a otomatik basiliyor demek istiyordum.

  3. Fatih Arslan @ Haziran 5, 2007

    Evet bunu bende düşündüm, daha güzel oldu şimdi :)
    Son halini deÄŸiÅŸtirdim kodda ÅŸu ÅŸekilde olacak:

    1
    map <F8> :!python % <enter>
  4. Fatih Arslan @ Haziran 5, 2007

    @Yavuzselim şöyle bir ÅŸey var benim kullandığım, bu vimrc’de ekli:

    1
    autocmd BufWritePost *.cgi,*.sh !chmod 755 %

    oraya *.py eklersen kaydettiğin an çalıştırabilir hale geliyor. Birde her dilin ayrı özellikleri var, ben c için şu ayarları yapmıştım

    1
    2
    map <F9> :make
    set makeprg:gcc\ %<.c

    Burada sadece derliyor, çalıştırmak için yine ayır bir terminal açıyorum. Python zaten doğrudan çalışıyor benim bildiğim kadarıyla, yeni başladığım için henüz bilgilerim tam oturmadı.

  5. myavuzselim @ Haziran 5, 2007

    Evet bu da olabilir. Ben onceki mesajimda soyle birsey kastetmistim (dogru sekilde formatlayabilecek miyim bilmiyorum, keske onizleme olsaydi):

    1
    q«n)ÿq©b²Ø«ý¸§ý¶¬…Ú,É
  6. myavuzselim @ Haziran 5, 2007
  7. Fatih Arslan @ Haziran 5, 2007

    Yavuzselim anladım demek istediğiniz, güzel bir fikir, fakat sadece yorumlanabilen, betik dilleri için güzel olur, onun haricinde C gibi programlarda sorun çıkmaz mı sence ? Çünkü burada derlendikten sonra çıkıyor çalıştırabilir dosya.

    (Önizleme eklentisini kurdum,

    1
    <code>

    içindeki herşey de tanımlanıyor)

  8. myavuzselim @ Haziran 5, 2007

    Mutlaka olur. Mesela program birden fazla compile-unit’den olusuyorsa calismaz. Ama basit C denemeleri yapmak icin kullanilabilir.

  9. Fatih Arslan @ Haziran 5, 2007

    Anladım, genel olarak düşünürsek o zaman güzel bir ÅŸey evet. Ben diÄŸer diller ile pek haşır neÅŸir olmadığım için pek ihtiyacını hisetmedim. C’de ise

  10. Heartsmagic @ Haziran 20, 2007

    Evet pydiction’ı da ekledikten sonra .vimrc dosyamdaki map’in son halini ÅŸu ÅŸekle getirdim:

    1
    map <F8> :w <enter> :!clear <enter> :!python % <enter>

    Heh, biraz tembellik gibi oluyor ama güzel oldu.

  11. musti @ Aralık 17, 2007

    Merhaba Heartsmagic arkadaşımızın dediğini yapamadım ben windows üzerinde çalışıyorum ViM ile bu yüzden belki kullanamadim misal !clear kısmı nedir windows üzerinde geçerli mi?
    Windows’ta cls komutuyla aynı iÅŸi mi görüyor yardımcı olan olursa minnettar olurum..

  12. Heartsmagic @ Aralık 20, 2007

    Clear terminal çıktılarını temizler, sayfanın başından çıktı verilmesini saÄŸlar, sanırım cls ile aynı iÅŸi görüyor. Ancak windows üzerinde çalışan vim’in windows konsoluna ulaÅŸma imkânı nedir bilmiyorum.

Buradan yorum bırakabilirsiniz