10 X daha verimli mi? Muhtemelen değil. Çarpıcı faktörlerin 1.1'e benzediğini düşünüyorum, bu da bir süre sonra toplanıyor.
Steve Yegge'in bahsettiği şey gerçekten Emacs'ta uzman olmanın bir yansıması ve bunlar çok nadir. Bu çarpma etkisine ulaşan insanlar, Emacs'ı özel ihtiyaçlarına göre uyarlamak için elisp yazarak Emacs deneyimlerini aktif olarak özelleştiriyorlar. Örneğin, Yegge ejak yazdı . Yegge alıntısını yorumlamak, Emacs'ı özelleştirmeyi / genişletmeyi kolaylaştırmak için Emacs'ı özelleştirdiğiniz anlamına gelir.
Emacs için geçerli oldukları için çeşitli uzmanlık düzeylerini nasıl ayıracağım:
- Bir acemi Emacs'ı nasıl çalıştıracağını, imleci hareket ettireceğini, bazı düzenlemeler yapmasını ve Emacs'tan nasıl çıkacağını bilir.
- Bir ileri acemi onların bazı temel özelleştirmeleri koymak bilir
.emacs
, ya da tamamen başka insanların parçalarını kopyaladıysa .emacs
onların içine. Küresel anahtar bağlamaları, require
yerleşik paketleri nasıl oluşturacaklarını , küçük modları nasıl etkinleştireceklerini biliyorlar .
- Yetkili Emacs kullanıcılarının büyük
.emacs
olasılıkla birden fazla dosyaya bölünmüş büyük dosyaları vardır. Standart olmayan paketleri indirir ve kullanırlar, komutlar, modlar için belgeleri nasıl bulacağını bilirler, mevcut anahtar bağlarını görüntülerler, küçük modlar ve büyük modlar arasındaki farklarla rahatlar. Yetkili kullanıcılar genellikle tek bir Emac örneğini gün / hafta boyunca çalışır, programları Emac'larından yazar, derler, çalıştırır ve hata ayıklar.
- Yetkin kullanıcılar, emacs lisp'i rahatça yazabilir, kendi etkileşimli komutlarını oluşturabilir ve küçük modları rahatça yazabilir. Yetkin kullanıcılar, kullandıkları modları daha iyi anlamak, elisp hata ayıklayıcısını kullanmak ve genellikle düşük süreçleri (kabuklar, lisp süreçleri, ...) kullanmak için emacs lisp koduna bakar.
- Uzman Emacs kullanıcıları sıfırdan yeni büyük modlar yazar, Emacs için C kodunu arar ve değiştirir, yinelemeli düzenlemenin ne olduğunu bilir ve kullanır, Emacs'ı harici araçlarla entegre etmek için süreçler arası iletişimi kullanır. Ayrıca emacs-devel posta listesini de okudular .
Ve kişisel deneyim istediğiniz için, kişisel olarak yaptığım şeylerin daha üretken olduğumu hissettiren örnekler. Not: Geliştirme ortamlarının kanayan köşesine yakın bir yerde olmadığımız bir şirkette çalışıyorum, örneğin hala CVS kullanıyoruz.
- Emacs'ı hata izleme aracıyla entegre ettim: taahhütte bulunduğumda, dosya adını ve sürümünü hata alanlarına kaydeder ve Emacs'tan hatalarımı görüntüleyebilir, atayabilir, çözebilir vb.
- Ürünümü (günlük iş) ve Emacs'ı birbirine bağlayan, ürünümü etkili bir şekilde daha düşük bir süreç haline getiren bir köprü yazdım - kaynak kodunda anında değişiklik yapmamı sağladım.
- TAGS işlemeyi, geliştirme ortamım için uygun olan bir dizi kısayol sağlayan etiketleri dosya içinde bul ile genişlettim .
- Regresyon sonuçlarını alan ve hatalara atlamamı, günlük dosyalarını incelememi, bir veya daha fazla testi yeniden çalıştırmamı veya en az tuş vuruşuyla bir hata ayıklama çalıştırmasına girmemi sağlayan bir mod yazdım.
- Haftalık durum raporum (evet, e-posta için Emacs kullanıyorum), hafta boyunca yaptığım taahhütler kullanılarak otomatik olarak oluşturulur.
Bunlar, Emacs'ı özellikle çevreme ve iş akışıma uyarlamak için yaptığım değişiklikler.
Etrafımdakilerden 10 kat daha üretken miyim? Hayır.
Ancak, günlük işlerim için, başkalarının özelleştirilmiş olmayan ortamlarında daha uzun süre harcadıkları ve genellikle editörleri ile web tarayıcıları veya kabukları arasında geçiş yapmalarını gerektiren birkaç tuş vuruşuyla yapabileceğim birçok görev var. .
Şaşırtıcı örnekler mi? Hayır. Eminim yaptığım şeylerin çoğu Visual Studio'da zaten mevcut . Makalem sizi Emacs Kilisesi'ne geri döndürecek mi? Muhtemelen değil.
Ancak, geliştirme ortamınızda bir davranış modeli görürseniz ve size şunu söyleyen bir kaşıntı varsa, "X / Y / Z'yi tekrar tekrar yapmam gerekmiyor, eğer yapabilseydim ..." Kaşıntıyı çizmek için Emacs kullanmaya çalışmanızı öneririm. Bu çizik, Steve Yegge'nin bahsettiği "kendini güçlendiren" yolda ilk adım olabilir.
Küçük not: Pek çok (herhangi bir?) Gerçekten uzman Emacs kullanıcısının yığın taşma sitelerini aktif olarak kullandığını veya en azından Emacs ile ilgili soruları yanıtlamadığını bilmiyorum. Ben yığın üst taşması emacs ve elisp etiketleri için en iyi kullanıcılara dayalı diyorum .