Forum: Diğer Konular RSS
Emacs eklenti kurulumları
cos00kun #1
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Emacs eklenti kurulumları
Merhabalar..
yavaş yavaş Emacs a ısınmaya başladım ancak D diliyle programlamaya başlamam sebebiyle Emacsı da bir IDE/Editor gibi kullanmak istiyorum. Bunun için gereken auto-complate ve D compiler ini Windows a tanıtma konusunda sıkıntı yaşıyorum.. Gerek emacs gerekse D Forumda bu konuda yani windows sürümünde yeterli açıklamayı göremedim (Elbette bende anlamamış olabilirim).. yada beceremedim..
sizlerden ricam Çok ileri boyutta programlama bilgisi olmayan birisi için;

  • D compilerini Emacs a tanıtma
  • D kütüphanelerini Emacs a tanıtma (tabi böyle birşey oluyorsa elbette) örneğin GtkD kütüphanesi SDL kütüphanesi v.s..
  • D  dili auto-complate ni Emacs a tanıtma

konularını detaylı anlatabilirmisiniz
E=mc^2
erdem (Moderatör) #2
Üye Tem 2009 tarihinden beri · 1049 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Emacs'ın paket yöneticisini tanıtmak için .emacs dosyasına:
(require 'package)
(add-to-list 'package-archives 
    '("MELPA" .
      "http://melpa.milkbox.net/packages/")) 
ekliyoruz.

M-x package-list-packages kurulabilecek tüm paketlerin bir listesini veriyor. M-x package-install ile istediğimiz paketi kuruyoruz. Örneğin buraya d-mode girdiğimizde d eklentisi kurulmuş olacaktır.

Otomatik tamamlama için auto-complete ve bunun yanında yasnippet eklentisini de tavsiye ederim.

Daha sonra .emacs dosyasına bu kurulan paketlerle ilgili ayarları ekleyebiliriz. Örneğin benim .emacs dosyamda şu şekildeymiş:
(add-to-list 'auto-mode-alist '("\\.d\\'" . d-mode))
(add-to-list 'auto-mode-alist '("\\.di\\'" . d-mode))
(autoload 'd-mode "d-mode" "Major mode for D programs" t)
(add-hook 'd-mode-hook #'electric-spacing-mode)
(add-hook 'd-mode-hook #'auto-complete-mode)
 
;;; Otomatik parantez
(add-hook 'd-mode-hook
     (lambda ()
      (define-key d-mode-map "\"" 'electric-pair)
      (define-key d-mode-map "\'" 'electric-pair)
      (define-key d-mode-map "(" 'electric-pair)
      (define-key d-mode-map "[" 'electric-pair)
      (define-key d-mode-map "{" 'electric-pair)))
(defun electric-pair ()
  "Insert character pair without sournding spaces"
  (interactive)
  (let (parens-require-spaces)
    (insert-pair))) 
Devamında otomatik tamamlama ve yasnippet eklentisi ile ilgili ayarlar var.
;; 00 - otomatik tamamlama eklentisi
(require 'auto-complete)
(global-auto-complete-mode t)
;;(global-set-key "\M-/" 'auto-complete)
;; (setq ac-auto-start 4)
(setq ac-auto-show-menu 0.8)
(setq ac-ignore-case nil)
 
;; 01 - yasnippet eklentisi
(require 'yasnippet)
(yas-global-mode 1)
 
(add-to-list 'yas-snippet-dirs "~/.emacs.d/snippets/")
cos00kun #3
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
çok teşekkürler.. yarın ilk işim bunları denemek olacak.. peki emacs ta gtkd kütüphanesini kullanmak için herhangi bir işlem yapmaya gerek olacakmı acaba ?
E=mc^2
cos00kun #4
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Emacs'ın paket yöneticisini tanıtmak için .emacs dosyasına:
Ayrıca ".emacs" dosyası emacs klasörünün içinde yok bende.. Belki Linuxta olabilir ama Windows sürümünde ben bulamadım.. ona benzer "emacs.elc" dosyası var..
E=mc^2
erdem (Moderatör) #5
Üye Tem 2009 tarihinden beri · 1049 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
gtkd için gerekiyorsa bir make dosyası oluşturulabilir.

Emacs HOME dizini 2000, XP için C:\Documents and Settings\username\Application Data ya da Vista/7/2008 için C:\Users\username\AppData\Roaming ya da C:\WINDOWS\Profiles\username\Application Data olabiliyormuş. Eğer bu dizinleri bulamazsa emacs C:\ dizinini ana dizin kabul ediyormuş.

Eğer yoksa bu dizinde .emacs isminde bir dosya oluşturup içine bunları yapıştırmak gerekebilir.

Burada da ek bilgiler var.

Eğer .emacs.elc ya da .emacs.d\init.elc dosyası varsa o zaman emacs bu dosyayı başlangıç dosyası olarak yüklüyormuş.
cos00kun #6
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
evet dediğin gibi yaptığımda buldu .. ancak bu seferde yükleme hataları aldım.. Arkadaş ne zormuş gerek D ilintileri olsun gerekse emacs olsun bunları Windowsta kurup dizayn yapmak  :rolleyes:
biri Youtubede baştan bunları windowsta nasıl kurduğunun videosunu çekse ne güzel olacaktı ama ben bulamadım ..
yada en güzeli kurulu Ubuntu Linuxta çalışmayı öğrenmek inanın bu daha basit  :-)
iyi günler
E=mc^2
erdem (Moderatör) #7
Üye Tem 2009 tarihinden beri · 1049 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben .emacs dosyamı sildim. Tekrardan sadece
(require 'package)
(add-to-list 'package-archives 
    '("MELPA" .
      "http://melpa.milkbox.net/packages/")) 
ekleyerek çalıştırdım. Sorunsuz kullanabildim. Daha sonra hata vermesi için kurulu olmayan bir eklentiyi örneğin Go eklemeyi denedim.
;; hata vermesi için ekledim
(require 'go-mode-autoloads) 
Emacs'ta oluşan hataları şu seçenekle çalıştırdığımızda görebiliriz.

emacs --debug-init

Bu şekilde çalıştırdığımda hatanın nereden kaynaklandığını söylüyor.

Debugger entered--Lisp error: (file-error "Cannot open load file" "böyle bir dosya ya da dizin yok" "go-mode-autoloads")
  require(go-mode-autoloads)

Emacs, Vim gibi metin düzenleyicilerin öğrenme eşiği biraz yüksek  :rolleyes:

Örneğin burada vim kullanımı için dersler hazırlamışlar.
cos00kun #8
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Erdem bey sağolun bilgiler için.. Aslında eski bir DOS kullanıcısı olarak Emacss ve txt editor kullanmak bana çok uzak gelmiyor benim sorunum bu programları windows ortamına tam olarak adapte edebilmek. Yinede birçok sorunu hallettim sayılır gerek D ilinti ve kütüphanelerinde gerek Emacs da. Örneğin artık GtkD yı windows ortamında rahatlıkla kullanılabiliyorum.. Emacs ve Vim editörlerinin öğrenme eşiği konusuna gelince gerçekten bu tür text editorleri hiç kullanmamış yada ctrl, Alt tuşlarıyla klavye tuşlarını aynı anda kullanmamış birileri için gerçekten dediğiniz çok doğru yinede benim avantajım son 6 seneye kadar neredeyse 20 sene boyunca kullanmış olduğum bir çizim programında sürekli bu tuşları kullanmam. Bu da beni Emacs ta kullanmaya itiyor açıkçası  :-)
Herkese huzur dolu bir gün diliyorum..
E=mc^2
cos00kun #9
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Merhabalar
Emacs ta D-mod u kurduğumu sanıyorum ve merhaba dünya programını çalıştırdığımda komut satırına önce  Alt+X ardından compile yazıyorum ardından gelen kısmada Dmd deneme.d yazınca türkçe karakter kullanmam sebebiyle hata mesajı alıyorum..

ilk sorum utf 8 olarak fontu nasıl ayarlayabilirim Emacs ta ?
ikinci sorum windowsta bir türlü auto-complateyi çalıştıramadım :) açıkçası D için auto complate paketinini kurduğumdan bile emin değilim çünkü kurduğum paket auto-complate olarak geçiyor ama D dilinden hiç bahsetmiyor kaldıki zaten herhangi bir çalıştırmada yapmıyor bile :)
ilgilenen olursa resim de yayınlayabilirim ..
iyi günler
E=mc^2
erdem (Moderatör) #10
Üye Tem 2009 tarihinden beri · 1049 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
cos00kun:
ilk sorum utf 8 olarak fontu nasıl ayarlayabilirim Emacs ta ?

M-x prefer-coding-system

Sonra gelen kısımda utf-8 yazmak gerekiyor.

Kodlama sistemini utf-8 olarak ayarlamak için
cos00kun:
ikinci sorum windowsta bir türlü auto-complateyi çalıştıramadım :)

Herhangi bir dil için otomatik tamamlamayı açmak için M-x auto-complete-mode yazmak gerekiyor. Sonra tab tuşuyla otomatik tamamlama yapıyor.

Eğer istersen benim Emacs dosyamı kullanabilirsin. Orada 00 paket listeleri ile başlayan kısımdan sonrasını sil. Eğer sorunsuz çalışırsa ekleme yaparsın.

Ben de yazı tipi ve renk teması hoşuma gittiği için fi tarihinde Ali hocadan almıştım :)

Bir de windows console'un utf8 karakterlerle ilgili bir ayarı vardı galiba.
cos00kun #11
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Tamamdır Erdem kardeşim sağolasın.. Çoğunu hallettim.. sadece türkçe karakter problemi kaldı oda gariptirki konsolum utf-8 olmasına rağmen ve consoleden türkçe karakter yazabilmeme rağmen Emacsın consolesinde Türkçe karakteri tam çıkartamadım hala ama onun dışında tüm sorunları hallettim sayılır desteğinizle..

Emacs tamda aradığım müthiş bir editormüş açıkçası uzun yıllar kullandığım bir çizim programındaki Ctrl ve Alt konbinasyonlarına aşinalığım Emacsa çabuk ısınmamı sağladı  :-)

bu arada Erdem hocam emacsta "M-x compile" yazdığımda default olarak "make -k" yerine "dmd" yazmayı istersem bunu hangi dosyadan yapıyoruz yada nasıl ?

bir diğer sorumda derlediğimiz programı Emacsta örneğin deneme.d yi derledik ve ardından deneme.exe yi çalıştırmak istersem bunu Emacsın içinden nasıl gerçekleştirebiliyoruz?

iyi akşamlar
E=mc^2
erdem (Moderatör) #12
Üye Tem 2009 tarihinden beri · 1049 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
cos00kun:
bu arada Erdem hocam emacsta "M-x compile" yazdığımda default olarak "make -k" yerine "dmd" yazmayı istersem bunu hangi dosyadan yapıyoruz yada nasıl ?

.emacs dosyası içinde eğer yoksa ekleyerek ya da değiştirerek yapabilirsiniz. Örneğin:

(global-set-key "\C-c\C-c" 'compile)

bu komut iki kere Control-c tuşuna basınca derleme bölümü gelecek.

(setq compile-command '("dmd " . 9))

Burada da derleme komutunu değiştirmiş olduk.

cos00kun:
bir diğer sorumda derlediğimiz programı Emacsta örneğin deneme.d yi derledik ve ardından deneme.exe yi çalıştırmak istersem bunu Emacsın içinden nasıl gerçekleştirebiliyoruz?

Bunu M-x eshell ile yapabilirsiniz.
cos00kun #13
Üye Kas 2014 tarihinden beri · 217 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bugün fazlamı oldum bilmiyorum ama bu gecelik son sorum olsun :-)
ben emacsta bazı ayarlar yapıyorum örneğin fontları büyüttüyorum ardından auto-complete yi etkinleştiriyorum birde satır numaralarını kaldırıyorum ama her emacs açtığımda bu ayarları baştan yapmak zorunda kalıyorum .. Bunuda söylerseniz süper olacak benim için.. (customize stuptan save yapmama rağmen olmadı)
E=mc^2
erdem (Moderatör) #14
Üye Tem 2009 tarihinden beri · 1049 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bir özelliği değiştirdikten sonra üzerinde çıkan state yazısına tıklayıp 1 - Save for future sessions seçeneğini seçmek gerekiyor anladığım kadarıyla.

Bu eklentiler dışında yasnippet'i da tavsiye ederim. Örneğin ~/.emacs.d/snippets/d-mode/ dizininde gtk isimli bir kodcuk var.
# -*- mode: snippet -*-
# name: gtk
# key: gtk
# --
import gtk.Main;
import gtk.MainWindow;
import gtk.Box;
 
 
class Pencere: MainWindow
{
    Box $3;
 
    this()
    {
        super("$1");
        setBorderWidth($2);
        ${3:enumerate} = new Box(Orientation.HORIZONTAL, $4);
        add($3);
 
        $0
        showAll();
    }
}
 
void main(string[] args)
{
    Main.init(args);
    auto pencere = new Pencere();
    Main.run();
}

Bu kodun ne yaptığını görmek için gtk yazıp tab tuşuna basmak gerekiyor. Daha sonra tab tuşuyla devam edip boşlukları dolduruyoruz.

Mesela for döngüsü için benzer bir kod parçası.
# -*- mode: snippet; require-final-newline: nil -*-
# name: for
# key: for
# --
for(${1:int} ${2:i} = 0; $2 < ${3:N}; ++$2)
{
    $0
}
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2018-01-19, 21:26:08 (UTC -08:00)