Emacs nedir? ve kaynak kod ile kurulumu


Emacs Richard Stallman ve Guy L. Steele, Jr. tarafından yazılmış bir metin editörüdür(?)

Denilebilirdi ancak Emacs kesinlikle daha fazlası…

1. Metin editörüdür 🙂

Normal editörlere göre farklı olan özellikleri

2. Web Browserdir. (eww: çokta kullanılacak bir yapısı yok bence linkleri direk Firefox’a yollama işini iyi yapıyor)
3. Çoğu dil için syntax açısından desteği vardır (Python, Java, Ruby, Bash, C/C++, Go, Lisp, Javascript ve daha fazlası )
4. Derleme ve debug işlemleri yapılabilir (debug işlerinde diğer İDE’ler kadar kullanışlı olduğu söylenemez)

5. Github ile çalışmayı daha efektif hale getirir Magitmagit

6. Yazdıklarınızı hiç bir şekilde kaybetmeyeceğiniz bir editör ortamı sağlar. Aslına bakarsanız en kullanışlı eklentilerden biridir. Eklentinin temel özelliği dosyanın herhangi bir yerinde yaptığınız değişikliğin, dosyayı kaydetmiş olsanız bile eski haline getirebilmesidir Undo Tree
undo-tree
7. Müzik dinlenebilir soundcloud.el
soundcloud.el

 

8. Twittere girilebilir Twittering mode
twittering mode
Not gayet güzel bir not alma sistemi vardır Org Mode

orgmode
e hali ile IDE olarak kullanılabilir Python, Java

jedi python
8 .Terminal içinden çalışabilir emacs -nw

9. cd  rm  ls  işlemlerini daha hızlı yapmanızı sağlar dired+
10. Bazı linux komutlarını daha iyi şekilde kullanabilirsiniz( diff  locate ) diff-hl-mode

11.Git kullanmayı daha efektif hale getirir.

Dosyada yeşil, kırmızı ve mavi yerler git sistemine initialize edilmiş fakat henüz commit yapılmamış alanları gösterir

vcDiff
12. İstediğiniz her tuşu istediğiniz her iş için hatta sizin yazdığınız fonksiyonlar için  bile kısayol vs atayabilirsiniz.

13.Macro yazımı.

Sürekli yaptığınız bir işi tek butonda yapmak için bir otomatik yapı ayarlayabilirsiniz.

 

14. Çok meşhur rakibi olan vi/vim editörünün temel özelliklerini kullanabilmesi

  • evil
  • space-emacs

Ve siz daha ne istiyorsanız o.

 

Genel Özellikler ve Arka Plan

Unutmayın Emacs’in gücü genişletilebilir(Extensible) ve Özelleştirilebilir(Customizable) olmasından gelmektedir

Bir program bunların hepsini nasıl yapıyor diyorsanız
Emacs yapısının arkasında Emacs Lisp(Elisp) diye Lisp tabanlı bir dil bulunduruyor
Geliştirilebilir yapısı ile lisp ile yazdığınız her fonksiyon artık editörünüze eklenmiş bir özelliktir. Bir sonraki versiyonu beklenemize gerek yoktur.

Lisp dilinin biraz yapısına bakacak olursak dil görünüş itibari ile korkutucu derecede parantez içeren fonksiyonel bir dil

Evet sadece faktöriyel hesaplıyor! 🙂
Koda bakarsanız Veri Yapıları dersindeki prefix yapılar boşuna değilmiş anlaşılan.

Aynı işi yapan C fonksiyonuda yukarıda, çokta korkmamak lazım aslında

Konu ile ilgilenmek isteyenlere aslında bu teknolojininde insanlar için olduğunu inanmak için:

 

Kısayollar

Öncelikle bu editörü kullanmak için biraz çalışma gerektiriyor çünkü alışıla gelmiş yapıdan biraz farklı mesela kendi varsayılan kopyala yapıştır kısayolları

ctrl-v —> C-y
ctrl-c —> M-w
ctrl-x —> C-w

tabi bunları cua-mode ile direk değiştirilebiliyoruz şahsen bende bu modu kullanıyorum şimdiye kadarda pek fazla problem çıkmadı.(2 yıl sonra gelen edit (cua-mode nil)) Hata Etmişiz 🙂
Diğerleri —->

Yeni dosya açma Ctrl-X, Ctrl-F
Farklı Kaydet Ctrl-X, Ctrl-W
Kaydet Ctrl-X, Ctrl-S
Çıkış Ctrl-X, Ctrl-C
Seçimi başlatma Ctrl-space
Seçimi kesme Ctrl-W
Seçimi kopyalama M-W
Seçimi Kes Ctrl-K
Seçimi yapıştır Ctrl-Y
Arama Ctrl-S aranan metin RET
Bul ve Değiştir¹ M-x replace-string RET aranan metin RET yerine konulacak metin
Satıra git M-g gidilmek istenen satır numarasını yazıp ENTER tuşuna basıyoruz

İşin güzeli bu kısayolların çoğunu Linux’ta terminalde de kullanabiliyorsunuz

Ürünü bu kadar övdükten sonra kuruluma geçmenin vakti geldi
Emacs Linuxta apt-get, yum gibi  bir çok konsol komutu ile indirmenin yolu var fakat sizde benim gibi daha güncel olanı indirmek istiyorsanız git  VCS yolunu kullanmanız daha iyidir. Bunun için bilgisayarınızda git yok ise ilk öncelikle git kurulumunu yapmanız lazım.

Kurulum

Debian türevleri için git kurulumu

Kaynak kod ile Emacs kurulumu ise

Windows bilgisayarlar içinde emacs yansısı(mirror)
http://ftp.gnu.org/gnu/emacs/windows/

Eğer hakikatten Linux komutlarını fazlaca kullanan bir kişiseniz ve bu komutları Emacs üzerinde daha efektif şekilde kullanabilmeniz sizi bir hayli mutlu edecektir.

Daha fazlası için

https://github.com/pierre-lecocq/emacs4developers  —> Güzel bir kaynak
http://www.gnu.org/software/emacs/
http://tuhdo.github.io/emacs-tutor.html

http://tuhdo.github.io/emacs-tutor3.html

http://www.youtube.com/watch?v=0kuCeS-mfyc —> python severler için güzel Emacs ayarları

Emacs kısayolları

http://www.shortcutworld.com/en/linux/Emacs_23.2.1.html

Kaynaklar
http://valera-rozuvan.github.io/nintoku/installing/emacs/debian/wheezy/installing-emacs-on-debian-wheezy/