Emacs

Emacs, özellikle genişletilebilirlik yönünden birbirine benzeyen ve ilişkili metin düzenleyicilerin genel adıdır. Bu metin düzenleyicilerin en yaygını GNU Emacs olduğundan, sıklıkla GNU Emacs yerine kullanılır.

Tarihçe 

İlk Emacs, 1970'lerde MIT Yapay Zeka Laboratuvarı'nda Richard M. Stallman tarafından bir satır düzenleyici olan TECO'ya makro kümesi olarak yazıldı. Kısa sürede yaygınlaşan ve bu şekilde büyüyen makrolar Guy Steele ve Stallman tarafından derlenip EMACS ismini aldı.

Unix'de çalışan ilk Emacs'i, Java programlama dilinin de yazarı olan James Gosling 1981 yılında geliştirdi. Gosling Emacs olarak anılan uygulama C'de yazılmış olmasına rağmen, kullanıcılara kolayca kişiselleştirme ve geliştirme imkânı veren Mocklisp isimli Lisp türevi betik dili destekliyordu.

1984'e kadar özgürce dağıtılan bu uygulamanın haklarının Gosling tarafından satılması, aynı kod ağacından başlayan Stallman'ın GNU Emacs isimli düzenleyicisinin eski kodlardan temizlenmesine sebep oldu. Benzer şekilde kendi uygulamasının da özgürlüğünü kaybetmesini istemeyen Stallman, GPL lisansını yazdı ve GNU Emacs, GPL ile lisanslanan ilk uygulama oldu.

1991'de, GPL lisansının özgürlüğünden faydalanan bazı diğer geliştiriciler Lucid Emacs'i türetti. Daha sonradan XEmacs ismini alan bu uygulama özgür yazılım tarihindeki en büyük çatallanmaya sebep oldu. GNU Emacs ve XEmacs, 2006 yılı itibarıyla halen kullanılmakta olan en yaygın iki emacs'dir.

Özellikleri

Emacs Lisp 

GNU Emacs ile birlikte, Mocklisp'in yerini kimi zaman ELisp olarak kısaltılan Emacs Lisp almıştır. Yorumlanan bir dil olan Lisp türevi betik dili, birçok akranı gibi değişken işlevlere izin verir. Özellikle bu yeteneği Emacs'in geliştirilebilirliğine önemli katkıda bulunmasını sağlar. Zengin kütüphanesi ile birlikte, web tarayıcısından, e-posta istemcisine, çeşitli oyunlardan yapay zekaya kadar birçok uygulamanın yazılabilmesine imkân veren dil, Emacs'in basit bir metin düzenleyici olarak kalmayıp, teknik olarak bir işletim sistemi sınıfına girebilmesinin sebebidir.

Düzenleme kipleri 

Çok amaçlı bir düzenleyici olan Emacs, dosya türünü düzenlerken yardımcı olacak kiplerle gelir. Bu kipler o dosya türüne özgü söz dizimi renklendirme, kelime tamamlama, otomatik girintileme (indentation) gibi birçok işlev ile düzenleme işini kolaylaştırır. Bunların yanı sıra yazım denetimi, yazı tipi şekillendirme, dosya türüne özel tuş ve komut tanımları, hata ayıklama görevleri kipler yardımıyla yapılabilir. Emacs ile dağıtılmayan birçok kip Emacs Lisp dosyası olarak internette bulunabilir.

Düzenli ifadeler 

Emacs, karmaşık ara/değiştir işlemleri için oldukça zengin ve kullanışlı düzenli ifade desteği ile gelir.

Çapraz platform desteği (Cross-platform) 
Emacs bütün yaygın işletim sistemleri üzerinde derlenip, çalıştırılabilmektedir.

Belgeleme ve dil desteği 

Emacs çok ayrıntılı ve gömülü belgelerle gelir. Arayüzü gibi bunlar da genelde İngilizcedir. Kullanım kılavuzu farklı dillere çevrilmişse de, ne arayüzü ne de çekirdek Emacs Lisp kütüphanesi hiçbir dile çevrilmemiştir.

Ayrıca bakınız 

 GNU
 GPL
 Vim
 Açık kaynaklı yazılımların listesi

Kaynakça

Dış bağlantılar 
 LAPİS-Emacs Başlangıç Rehberi
 Aycan iRiCAN'ın "Nasıl Bir EMACS" başlıklı Belgesi
 EMACS ve GNU/Linux yazı tipleri 
 GNU Emacs ana sayfası

Özgür yazılım
Özgür metin düzenleyiciler
Metin tabanlı kullanıcı arayüzü