Emacs’de yasnippet Kipi Kullanımı

Eğer yasnippet paketimiz yüklü değil ise marmalade deposundan, github’dan veya dağıtımımızın kendi deposundan yükleyebiliriz. Dağıtımımızın deposundan yüklediğimiz zaman uçbirim ile bir kaç işlem yapmamız gerekecek eğer kayıtlı yasnippet tamamlayıcıları ile yetinmeyeceksek ve yeni snippet’lar tanımlamayı düşünüyorsak:

sudo chown -hR kullanici_adi /usr/share/emacs/site-lisp/yasnippet/snippets/

Yukarıda yaptığımız işlem yeni snippet’lar eklerken kullanıcımıza, yeni snippet dosyaları yazabilme izni verecektir. Eğer elpa ile kurulum gerçekleştirdiysek paketimiz ~/.emacs.d/elpa dizini altına ekleneceği için doğal olarak kullanıcımız bu dizine yeni dosyalar yazabilecek.

Biçok programlama dili için yasnippet içerisinde tanımlı snippet’lar mevcut. Ve biz bu snippet’ları snippet adını yazdıktan sonra <TAB> tuşuna basarak kullanabiliriz.

Örnek olarak def yazıp ardından <TAB> tuşuna bastığımız zaman yasnippet içerisinde tanımlı olan def ismindeki snippet çağrılmış olacak ve biz bu snippet içerisindeki değişkenler içerisinde <TAB> tuşunu kullanarak gezebileceğiz:

yasnippet-python

def adlı snippeti içerisinde 3 adet değişken mevcut istersek C-c & C-v komutu ile bu snippet’ı ziyaret edebiliriz. işlev adı olarak islev yazalım:

yasnippet-python-1

Yeniden <TAB> tuşuna basalım ve kullanacağımız değiştirgenlerin isimlerini tanımlayalım:

yasnippet-python-2

Yine <TAB> tuşuna basalım ve diğer değişkene atlayalım.($3) Yorum bölümüne işlev için yorum yazalım:

yasnippet-python-3

Yeniden <TAB> tuşuna basarak en son değişkene atlayalım.($0) Buradan sonra ise istediğimizi yazarak devam edebiliriz:

yasnippet-python-4

İstersek yeni snippet’lar da tanımlayabiliriz:

C-c & C-n komutu ile yeni snippet oluşturabiliriz.

Örneğin Python’da

#!/usr/bin/env python
#-∗-coding:utf-8-∗-

satırlarını her defa yeniden yazmak yerine yeni bir snippet oluşturalım. İki değişken kullanalım, biri utf-8 i değiştirebilmek için, diğeri de yazmaya iki satır aşağıdan devam etmek için.

Öncelikle C-c & C-n komutunu verelim ardından snippet için bir isim girip <RET> tuşuna basalım. Açılan ara bellek eğer sadece okunabilir ise C-x C-q komutu ile ara belleğe yazma izni verelim ve aşağıdakileri ekleyelim:


#!/usr/bin/env python
#-∗-coding:${1:utf-8}-∗-

$0

yasnippet-new-snippet

Şimdi değişiklikleri kaydetmek için C-c C-c komutunu verelim.

Artık tanımladığımız snippet ismini yazıp <TAB> tuşuna bastığımız zaman oluşturduğumuz snippet’ı çağırmış olacağız.

Ayrıntılı bilgi için:

http://capitaomorte.github.io/yasnippet/