- Emacs ortamını ana akım bir IDE gibi yapılandıran ve yeni başlayanların hemen kullanabilmesi için hazırlanmış bir ayar koleksiyonu
- VSCode teması, gezgin, sekmeler, çoklu imleç, otomatik tamamlama gibi temel özellikleri Emacs’te yeniden oluşturur
- GUI ve fare kullanımı varsayılan olarak desteklenir ve
customarayüzüyle yapılandırılabilir - Lisp (Sly/Geiser) geliştiricileri ile programcı olmayanlar için eksiksiz bir düzenleme ortamı sunar
- Emacs’in mevcut giriş engelini düşürerek yeni kullanıcıların kolayca uyum sağlayabileceği bir başlangıç noktası sunar
IDEmacs’e genel bakış
- IDEmacs, Emacs’i Visual Studio Code veya Sublime Text gibi GUI tabanlı bir IDE olarak kullanmayı mümkün kılan bir yapılandırma paketi
- Emacs’in güçlü özelliklerini korurken yeni başlayanlara tanıdık bir arayüz sunar
- Başlıca hedef kitle şu üç grup
- Başka IDE’lerden gelen programcılar veya kodlamayı yeni öğrenen kullanıcılar
- Common Lisp ve Scheme başlangıç seviyesindeki kullanıcıları (Sly/Geiser, yapısal düzenleme özellikleri dahil)
- Org, Markdown, LaTeX belge düzenlemek isteyen programcı olmayan kullanıcılar
- Amaç, Emacs’in varsayılan deneyimine yabancı olan kullanıcılara hemen kullanılabilir bir ortam sunarak giriş engelini azaltmak
Başlıca özellikler
- GUI ve fare desteği
- Çoğu başlangıç kiti unlike GUI öğelerini gizlemez
customGUI üzerinden yapılandırmayı destekler (Elisp’i doğrudan düzenlemek gerekmez)
- IDE tarzı tuş atamaları
- CUA modu temelli olarak VSCode vb. ortamlarda kullanılan kısayolları geniş ölçüde yeniden üretir
Evilmodunu kullanan Spacemacs ve Doom’dan farklı olarak GUI merkezli bir kullanım sunar
- Tam teşekküllü bir Emacs dağıtımı düzeyinde yapılandırma
- Hızlı ve ek yapılandırma gerektirmeyen bir ortam
- Bol açıklamalı Elisp kodu içerdiğinden öğrenme materyali olarak da kullanılabilir
- Hedef seviye, kusursuz taklitten ziyade “yeterince benzer” bir deneyim sunmaktır
VSCode yapılandırması (devam ediyor)
- Şu anda sunulan tek IDE yapılandırması
- Dahil edilen bileşenler
- VSCode Dark Plus teması
- Treemacs kenar çubuğu dosya gezgini
- Centaur Tabs sekme çubuğu
- breadcrumb dosya yolu gösterimi
- idle-highlight-mode ile sembollerin otomatik vurgulanması
- VSCode’un “General”, “Basic Editing”, “Rich Languages Editing”, “Multi-cursor” kısayollarının büyük bölümü uygulanmış durumda
- Başlıca paketler
- Düzenleme:
whole-line-or-region,expand-region,multiple-cursors,smartparens - Sürüm kontrolü:
vc,magit,diff-hl,blamer - Otomatik tamamlama:
Vertico,orderless,Consult,marginalia,company - Lisp geliştirme:
sly,geiser,adjust-parens - Diğer:
eat(terminal),org-superstar,pdf-tools,undo-tree,helpful,rainbow-mode - Kod düzeni
use-packageile yönetilir
- Düzenleme:
Tuş atama yapılandırması
- VSCode kısayollarını Emacs komutlarına eşler
- Örnekler:
C-S-p→ komut paleti (execute-extended-command)C-p→ dosya aç (consult-locate)C-S-n→ yeni pencere (make-frame)C-w→ pencereyi kapat (idemacs-kill-buffer-noprompt)C-,→ kullanıcı ayarları (customize)
- Örnekler:
- Temel düzenleme, çoklu imleç, gezinme, dosya yönetimi, görünüm denetimi gibi ayrıntılı kategoriler için karşılık gelen komutlar tanımlanmış
- Bazı kısayolların davranışı VSCode’dan farklı ve TODO olarak işaretlenmiş
Katılım ve katkı çağrısı
- Kullanıcılardan IDEmacs’i kullandıktan sonra geri bildirim vermeleri isteniyor
- Yeni başlayan kullanıcıların gözlemlenmesi, Jabber/XMPP veya issue tracker üzerinden görüş paylaşılması öneriliyor
- Geliştiricilere de kod iyileştirme ve özellik genişletme çalışmalarına katılmaları tavsiye ediliyor
İlgili proje
- Mousemacs (GitHub: seamus-brady/mousemacs)
- Emacs’i Sublime Text veya VSCode gibi çalışacak şekilde hazırlayan bir dağıtım
- Lisp öğrenimi için geliştirilmiş ve fare dostu bir arayüz sunuyor
- Basit bir tema ile birlikte Emacs’in tüm özelliklerini koruyor
Kurulum ve çalıştırma
- Zorunlu bağımlılıklar
- Emacs 29 veya üzeri,
git, DejaVu Sans Mono yazı tipi
- Emacs 29 veya üzeri,
- İsteğe bağlı bağımlılıklar
grep,locateveyaplocate
- Kurulum adımları
- Depoyu klonlayın
git clone https://codeberg.org/IDEmacs/IDEmacs - İnternet bağlantısı açıkken Emacs’i çalıştırın
emacs --init-directory=/path/to/IDEmacs/vscode
- Çalıştırma sırasında gerekli Emacs paketleri otomatik olarak indirilir
- Depoyu klonlayın
Diğer
- Şu anda VSCode yapılandırması dışında başka bir IDE tarzı sunulmuyor
- Gelecekte kaynaklar elverirse yeni GUI uygulamaları ihtimalinden söz ediliyor
- Özgün metinde ek bilgi yok
1 yorum
Hacker News yorumu
VSCode'un kolay olduğunu düşünenlerin biraz gerçeklik kontrolüne ihtiyacı var
İlk açılışta açılır pencereler, kenar çubukları, araç ipuçları derken insanı bunaltabiliyor
Ben de bir Emacs kullanıcısıyım ama Emacs'ın sezgisel olduğunu iddia etmiyorum
Yine de VSCode da sihirli şekilde kolay bir araç değil; sadece kitlesel olarak tercih edilen bir seçenek
Dosya ağacı, editör, terminal, sekme tamamlama ve eklenti kurulumu çoğu kullanıcının etkileşim alanını oluşturuyor
Varsayılan olarak gelmiyorsa ya da bir eklentiyle kolayca eklenemiyorsa çoğu kişi onu kullanmıyor
Ama VSCode'un karmaşıklığı vim ya da Emacs'la kıyaslanacak düzeyde değil
Kısa bir öğretici ya da yarım saatlik kurcalamayla rahatça alışılabiliyor
Buna karşılık neovim için resmen bir kitap gerekiyordu
Yakın zamanda RustRover'ı denedim; yalnızca tıklayarak istediğim yapılandırmayı oluşturmak zordu
IDE'lerdeki “kolaylık” hissinin sanılandan daha büyük bir yanılsama olabileceğini düşündürdü
Standart dosya seçici ya da CUA kısayolları gibi yaygın arayüzleri destekleyen çok araç var
Bu yüzden Emacs yerine Zim-wiki gibi alternatifler kullanıyorum ve daha memnunum
Buna karşılık tmux, vi, nano, emacs ekseninde çalışmış biri için şaşırtıcı olabilir
Emacs basit bir IDE değil, felsefe ve özgürlük taşıyan bir araç
Programlama odaklı kullanım senaryolarına yönelen birçok proje var ama VSCode'da da Emacs tuş bağlarıyla bunun %75'i yapılabiliyor
Emacs'ın özü, size bir “parça kutusu” verip onu kendiniz birleştirmenizi sağlaması
Adeta “medenileşmiş bir çağ için zarif bir silah” gibi
Veri yapılarının çoğu değiştirilebilir ve
setqgibi buyurgan işlevler çok fazlaEmacs'ta sabit pencere düzenlerinin pratikte gerçekten iyi çalışıp çalışmadığından emin değilim
Eskiden denediğimde Treemacs paneli dosya görüntüleyici yerine bazen kod tamponlarını gösteriyordu
Son dönemde Emacs'ı IDE olarak yapılandırmak çok daha kolaylaştı
Yerleşik eglot sayesinde eskisine kıyasla çok daha az elisp kodu gerekiyor ve Python ayarı da tek satırla yapılabiliyor
Bu yüzden böyle projeler benim gibi mevcut kullanıcılardan çok yeni başlayanlar için bir geçit gibi duruyor
OCaml REPL, 68000 emülatörü ve gdb entegrasyonu büyük bir yapılandırma olmadan çalışıyordu
Sonrasında uzak sunucu ortamları yüzünden vim'e geçtim ama yakın zamanda Emacs'ı yeniden deneyince paket yönetiminin çok daha rafine hale geldiğini gördüm
Yine de DevOps/SRE tarafındaki araç desteği hâlâ zayıf
Spacemacs ve Doom gibi paket demeti projelerini seviyorum
Kendim kullanmasam da yeni paketler keşfetme fırsatı veriyorlar ve ayarları tekrar kurcalamak için bahane çıkarıyorlar
Basit ama amacına tam oturan bir isim olduğu için yüzümde gülümseme oluşturdu
Emacs'ın arayüzünü modern biçimde yeniden inşa eden bir proje olmasını isterdim
Çekirdek aynı kalsın ama görsel olarak daha net ayrışan, gözü daha az yoran bir arayüz olsun isterim
Eski Lisp tabanlı editörlerdeki gibi Ctrl'a basınca kısayol ipuçlarının görünmesi de güzeldi
Arayüz fena değil; asıl acil sorun tek iş parçacıklı yapı ve sık yaşanan takılmalar
Günde en az bir kez C-g basmak zorunda kalma hali düzeltilmeli
curses/SDL2 üzerinde çalışıyor ve Emacs tarzını sürdürüyor
Eskiden harici bir paketti ama yakın zamanda doğrudan Emacs'ın kendisine entegre edildi
İlgili commit bağlantısı
Grafik ortamda da terminalde de aynı görünümle çalışması büyük bir avantaj
Treemacs'ın her yerde aynı görünmesi özellikle hoşuma gidiyor
OniVim v2'nin başarılı olamaması üzücü
Yerel bir IDE'ydi ve VSCode eklenti sistemini tamamen destekliyordu
OniVim v2 arşiv bağlantısı
Bu, başka GUI ön yüz geliştiricileri için de faydalı olabilirdi
Neovim RPC üzerinden haberleşiyor ama performans yeterince hızlı
VSCode için Neovim eklentisi de bu yapı sayesinde tam bir vim deneyimi sunuyor
Vim kullanıcıları Electron tabanlı girdi gecikmesinden ve EULA'dan hoşlanmazdı; VSCode kullanıcılarınınsa Vim'le pek ilgisi yok
25 yıldan uzun süredir Emacs kullanıyorum; yeni bir kurulumda yaptığım ilk şey GUI öğelerini devre dışı bırakmak oluyor
Menü ya da araç çubuğunu hiç kullanmıyorum
Ama danışman hocam varsayılan Emacs'ı fareyle kullanıp LaTeX işleri yapıyordu; bu benim için oldukça taze bir deneyimdi
Doom Emacs kullanmaya devam edeceğim ama bu tür denemeler sevindirici
Emacs'ta Vertico gibi yenilikçi arayüz eklentileri çok ama temel deneyim hâlâ yetersiz
Böyle projeler Emacs'ı daha fazla insan için erişilebilir hale getirirse bu iyi bir şey
15 yılı aşkın süredir Emacs kullanıyorum; benim tek dileğim, VSCode'daki gibi uzaktan düzenlemeyi mümkün kılan bir istemci-sunucu modu
Gecikmenin yüksek olduğu ortamlarda da iyi çalışan bir çözüm olsa harika olurdu
Olmazsa kendim yapmayı düşünüyorum
Yine de VSCode'un Python entegrasyonu oldukça iyi
-nw) çalıştırmak