OS olarak Emacs: eski? [kapalı]


22

Böyle bir efsanevi editör ile en azından başlangıç ​​statüsüne ulaşmak için son iki aydır Emacs'da kod yazıyorum. Açık bir kalp tutmaya çalışıyorum, ancak kendimi kesin olarak tek bir çekirdek tasarım seçeneğiyle aynı fikirde bulmuyorum: Emacs kullanıcılarının asla ayrılmak zorunda kalmamalarına izin veriyor. 2010 dünyasında, Emacs'in her bir yan özelliğinin umutsuzca özel yazılımların arkasında olduğunu düşünüyorum:

  • Dahili tarayıcısını asla kullanmam; Chrome yıllarca ileride.
  • Dired özelliğini asla kullanmam; Yol Bulucu (Mac OS X) benim ihtiyaçlarıma uygundur.
  • Dahili e-postalarını asla kullanmam; Gmail web arayüzü Öncelikli Gelen Kutusu gibi daha alakalı özelliklere sahiptir.
  • Vb.

Tabii ki, yukarıdaki görevlerden biri için regexps vb. Kullanmak için zaman zaman Emacs'a dalabilirim, ancak regexps dışında, gerçekten bu yan özelliklere dokunmak için hiçbir neden göremiyorum. Ben tamamen acemi bir insanım, ancak Emacs-a-OS işletim sisteminin eski olduğunu hissediyorum.

Emacs uzmanları, Emacs'in kapsamlı bir çevre olma tercihinin 2010 ve gelecek için doğru seçim olduğunu düşünüyor musunuz? Alternatiflere kıyasla halen zamanın önünde veya önünde olan belirli çevresel özellikler var mı?


9
Bu gerçekten bir soru mu? Karar vermiş gibisin.
Larry Coleman,

5
@Emacs bir Unix ortamında gcc + gdb gelişimi için gerçekten çok güzel. LaTeX yazmak için de güzel.

20
Emacs'in yerleşik bir psikiyatriste sahip olmasının nedeni budur.
Tim Post

3
@Tim, Mx tetris çok daha eğlenceli.

2
Seni tamamen anlıyorum ... yıllarca vi kullandım ve Emacs öğrenmek için biraz zaman aldı ... ve her ikisinin de ihtiyaçlarıma uymadığı sonucuna vardım ... programlama için tercih ederim modern bir IDE (Eclipse) ve basit metin düzenleme / komut dosyası için nano gayet iyi.
Oliver Weiler

Yanıtlar:


14

Son 10 yıldır emacs kullanıyorum (ve arasında) ve sadece kesinlikle haklı olduğunuzu söyleyebilirim . Günlerdeyken, gnus ve w3 tarayıcısını kullandım, ancak açıkçası, özel programlar ile karşılaştırıldığında artık buna bağlı değiller. Ancak, belli ki, Chrome'u metin modunda çalıştıramazsınız, bu nedenle emacs kazanır. Ve orada bile, bunun için vaşak / elinks ya da saçmalık kullanmayı tercih ederim.

Emacs-the-programcılar-editörü de dokunuşunu kaybetti. Metin düzenleme gayet iyi, ancak kod yazarken kendimi aşağıdaki gibi işlevler için dileğiyle buluyorum: gitme tanımı, otomatik tamamlama, yeniden düzenleme, sözdizimi ipuçları, parametre belgeleri vb. (Eclipse düşünün). Birkaç emacs modunu denedim ama düzgün çalışmamıştım. Ve hayır, elisp öğrenmek istemiyorum, teşekkür ederim.

Ayrıca, emacs kodun anlamını gerçekten anlamıyor. Javascript ve php ile html gibi birden çok dil içeren bir dosyada kodlarken bu acı verici bir durumdur. Sadece yıkılıyor. Bunun için işi daha iyi yapan başka bir editör (notepad ++ veya her neyse) kullanıyorum.


5
Emacs'ın listelediklerinden aslında "goto tanım" (etags kullanarak), "otomatik tamamlama" ( autocomplete.elsanırım), sözdizimi ipuçları / parametre dokümanları (dil bazında) vardır. Bahsettiğiniz tek kişi AFAIK'i desteklemiyor, otomatik dil yenileme, bu tüm diller için ne gerekli ne de kullanışlı değil. Birden fazla mod olsa da iğrenç; PHP ve karma dilleri var ve destekliyor, ancak kötü (masaüstümde olmadığı sürece çok yavaş). Ayrıca size herhangi bir meslektaşımla aynı tavsiyeyi vereceğim: Lisp öğrenmek istemiyorsanız, Emacs kullanmayın, bu sizin için hiçbir şey yapmaz.
Inaimathi

8
Kabul; Emacs bir işletim sistemi değildir. İtirazım, "Emacs-the-programmers-editor da temasını kaybetti" dir. Bu, programcı-editör Emacs'ın faydalarının çoğunun kişiselleştirmeler uygulamaktan geldiği için, Elisp'i öğrenmeyi reddettiğin göz önüne alındığında, özellikle makul olmayan bir argümandır. "Emacs kullanmıyorum çünkü Lisp'i öğrenmek istemiyorum" a itiraz etmiyorum, ama sen onu kasten cehaletin senin zindeliği etkilediğine inandırıyorsun. Bu, "Eclipse, PHP desteğine sahip olmadığı için berbat bir şey. Ve eklentileri nasıl kuracağımı öğrenmek istemiyorum, teşekkür ederim." Diyerek benimle aynı düzeyde.
Inaimathi

1
@Inaimathi Ellip'i (veya herhangi bir dili) eclipse'i doğru bir şekilde kullanabilmek için öğrenmek zorunda değilsiniz. Eklentileri yüklemek de gerektirmez.
Martin Wickman

2
@ Martin - PHP desteğinde yerleşik değil (ya da kullandığımda yoktu); Bunun için bir eklenti yüklemeniz gerekir. Yukarıda verilen alıntı, "[Editör] 'e eşittir, çünkü aslında [özelliği var, ancak bu etkinleştirilmesi gerekiyor] yok, ama gerçekten sırayla yapmanız gereken bir şeyi öğrenmek istemiyorum. Bunu etkinleştirmek için] "ve demek istediğim bu mantıksız bir argümandı.
Inaimathi

3
@Inaimathi: Yeniden yapılanma devam ederken, bir C ++ otomatik yeniden yapılanma programı arıyordum ve bulduğum birkaç taneden biri elisp'deydi. "Emacs X'i desteklemiyor" derseniz, yanlış olma ihtimaliniz çok yüksek.
David Thornley,

19

İş için doğru aracı seçin.

Bir ssh bağlantısı üzerinden Chrome veya Yol Bulucu'yu çalıştırmayı deneyin - burada alternatif araçlara ihtiyacınız olacak ve Emacs bir terminalde çalışacak şekilde tasarlandı .


Ssh hakkında iyi bir nokta.
AlcubierreDrive

3
x11 yönlendirme
TheLQ

7
Bir web tarayıcısını ssh bağlantısı ile gerçekten kaç kişi kullanıyor ?
compman

1
@compman, evet. Web sitelerinden dosya indirmek için son derece yararlı olabilir.

1
OS X'in VNC'si vardır, SSNC üzerinden VNC bağlantısını tünelleyin ve OS X'in X11'i kullanmadığından endişelenmenize gerek yok.
Yalan Ryan

8

Yerleşik terapisti bile bu kadar fazla kullanmıyorum, ama Emacs'ı kullanıyorum ve onu kapsamlı bir doğadan dolayı değil, aynı zamanda bir metin editörü olarak yapılandırılabilir ve güçlü olduğu için seviyorum. Ayrıca bunun için bir çok tuş vuruşunu biliyorum. Başarılı metin düzenleme tamamen tuş vuruşlarıyla ilgilidir.

Verimliliğinizi onunla birlikte geliştirmek istiyorsanız, Steve Yegge'nin bazı iyi ipuçları var.


Emeves'in harekete geçmesi için Steves yaklaşımını tonlarca anahtarı yeniden birleştirmeye kesinlikle katılmıyorum. Standart anahtar bağlantılarını öğrenin ve davranışlarınızı düzeltmek için .emac'lerinizi kullanın.

Meselesi esas olarak ergonomiktir - standart ciltlemede ciltleme ile ilgili bir sorun olduğunu söylemez, tuşların klavyede nerede olduğu ile ilgili bir sorun olduğunu ve kullanımlarını kolaylaştırmak için , bu amaçla küçük parmaklarınızı klavyenin en uzak köşelerine dolaştırmanıza gerek kalmayan anahtarları bulmanız gerekir. Bunun anlamını görebiliyorum, ancak makineyi sık sık değiştirirseniz, başka bir kas hafızasına ihtiyaç duyduğunuz veya kullandığınız her makineyi yeniden yapılandırmak için yaşları harcamak sizi kısıtlıyor .
glenatron 08:11

5

Emacs hiçbir zaman kitlesel pazar için tasarlanmamıştı. Nasıl çalıştığını öğrenmek için zaman harcayan insanlar tarafından verimli kullanım için tasarlanmıştır. Bununla birlikte, bir boyut hepsine uymuyor, bu yüzden daha fazla şey öğrendikten sonra bile emaclardan hoşlanmayabilirsiniz.

EDIT: Metin düzenleme dışında benim en sevdiğim iki emac özelliği de kabuk modu ve gnus. Tüm spam nedeniyle Google Grupları ile sinirli olduktan sonra, Eternal September'a kaydoldum ve gnus'un nasıl kullanılacağını öğrendim. Mesajlar arasında gezinmek çok daha hızlı ve yalnızca zaman zaman spam göndermesi gerçekleşiyor ve bundan kurtulmak bir tuşa basma meselesi. Shell modu özellikle benim için işe yarar, çünkü kopyala / yapıştır, DOS komut isteminde olduğundan daha verimlidir.


Ben görevden değilim metin düzenleyicisi eskimiş olarak; Kabul ediyorum, buna alışınca çok verimli. Benim sorum, Emacs'ı terk etmeden her şeyi ve her şeyi yapabilmeniz gereken tasarım seçiminin değeri hakkında. Hala mükemmel olan belirli çevresel özellikler var mı, yoksa bir zamanlar aşılan çevresel özelliklerin tarihçesi hakkında bir bilginiz var mı?
AlcubierreDrive

1
Yorumlarınızı okuduktan sonra, görevden alınmayı eski bir bölüm olarak düzenledim. Her şey için emacs kullanmıyorum, ancak kabuk modu ve gnus'u gerçekten seviyorum.
Larry Coleman

Tatlı! Geri bildiriminize cevaben soruma yeni bir ikinci yarım ekledim.
Yorumunuz

1
Aynı zamanda emacs'de her şeyi yapabilmek, bilgisayarların artık daha yavaş olduğu yerlerde, 1994'te çok daha anlamlı hale geldi. Zaten emacs içindeysem ve kabuğu çok kullanırsam, zaman zaman dired kullanırım. Editörümde ya da en azından fareye hareket etmek zorunda kalmadan pek çok şey yapabilmek benim için bir kazanç. Farklı bir tada sahip olabilirsiniz (bu, bazı seviyelerde gerçekten bir zevk meselesidir)
Zachary K

2

Emacs'a her zaman kutudan çıkan bir çözümden ziyade bir platform olarak yaklaştım. İşlevselliği veya amacı yineleyen birçok paket var ve ihtiyaçlarınızı karşılayıp karşılamadıklarına karar vermek size kalmış.

Aynı zamanda birçok şeyin güncel olmamasının nedeni de budur. Emacs kullanan çoğu kişi (zaten tanıştım), e-posta okumak veya internette gezinmek için kullanmıyor. Ancak, başka bir editör bulmak için zorlandım

  • sofistike uzaktan düzenleme yetenekleri olarak
  • serbest formlu satır içi makro oluşturma ve düzenleme
  • mevcut uzantıların / paketlerin derinliği ve genişliği

Yazılım geliştirme ve kelime işlemede 10 yılı aşkın süredir tercih editörüm olmuştur.

Hepsinden iyisi Emacs kullanırken fareme dokunmama gerek yok.


2

Lisp'i öğrenmek ve ihtiyaçlarınıza uygun kendi özelliklerini yazmak isteyen Emacs sizin için bir işletim sistemi olabilir.

Ancak günümüzde ihtiyacınız olan her şeyi diğer harika insanların yaptığı diğer araçlarda bulabilirsiniz. Bu araçlar bu araçları yaptı çünkü tıpkı sizin kullanacaklarınız gibi onlara ihtiyaç duyduklarını hissettiler. Birçoğu açık kaynak olduğundan, ihtiyaç duyduğunuz tüm işlevselliklerle onları daha iyi ve daha iyi hale getirecek bir topluluk var.

Emacs'i geliştirmek çok zordur çünkü Lisp'i öğrenmek zorundasın. Mevcut eklentiler bile daha da yaşlanıyor. Örneğin dil modlarını alın; JS ve PHP gibi ortak diller sözdizimi vurgulaması için bile desteklenmez. Onlar için bulabileceğin en iyi mod yeterli değil.

Emacs, doğru ellerde ve doğru işler için harika bir araçtır. Ancak, belirtilen görevler için daha iyi araçlar vardır ve bunları kesinlikle kullanmalısınız.


1

Kutsal bir savaş başlatmak istemiyorum, aslında, her saniye günde bir emacs kullandığım bir zaman vardı (bir günlük vim, bir günlük emacs). Emacs ile yanlış bir şey yok, gerçekten harika bir araçtır. Harika, harika araç.

Ancak, gerçek bir vim'er olarak, birçok emacci'nin emacs'ı kelimenin tam anlamıyla her yerde, tam anlamıyla tüm görevler için kullanmaya çalıştığı gerçeği yüzünden her zaman biraz sinirlenmiştim.

Posta okumak, veritabanı sorgulamak, pdf okumak - bunlar "açık" olarak gördüğüm görevlerin en masumları.

Yani, benim için, emacs kullanmanın ana ağaç alanları var:

  1. Metin düzenleme. Ve akıllara durgunluk veren, süper bir araç. İnanın bana, uzun süre vim veya emacs kullandıktan sonra, IDE'lerin en gelişmiş özelliklerinde tamamen özleyeceksiniz.

  2. IDE. Peki, yapılabilir. Dahası, bir şekilde IDE'ler ile rekabet edebilir. Ancak gerçek şu ki, bunu gerçekten rekabetçi hale getirmek için çok yatırım yapmanız gerekiyor. Birçok farklı senaryoyu birleştirmeyi denemelisin. Kendi kod parçacıklarınızı bile yazmalısınız. Dürüst olmak gerekirse istemem.

  3. Diğer görevler, çoğu egzotik veya hatta ezoterik. Tetris ve benzeri oynamak. Olmasa iyi olur.


1
Hem emac hem de vi'nin uzun süredir kullanıcısı olarak (her ikisinin de 20 yıldan fazla tecrübesi, ayrıca birincil editörüm olarak yaklaşık 1 yıl kullanılması), arada sırada "yinelenen kodlar geliyor" için en yüksek emakleri buluyorum editörün bunu otomatik olarak üretmesine izin verin "(başka bir kod parçası yazmak yerine, kodu derlemek ve çalıştırmak yerine).
Vatine

0

Eşya koleksiyonumun bir yerinde, karımın sadece atmak istediğimden emin olduğumdan eminim, QIC-40 Kaseti üzerine bir Emacs kopyası var. Almak için 50 dolar ödedim.

# @% # $ # $% @ ^ #% # Dayanamadım, sonra dayanamıyorum. Bazıları için harika bir editör olmadığını söylemiyorum, ama benim için .. her şeyden daha çok önemsiyor. Bunun asıl başlangıcı kok şişe anahtarları etrafında çalışmaktı ve bunu çok iyi yaptı.

Bir programı çalıştırırsanız, herhangi bir programı çalıştırmanız, verimliliğinizi artırması (veya en azından, engellememesi) umuduyla yaparsınız. İşe yaramazsa, kullanmayın.

Güven bana, sen problem değilsin.


2
"Bu önemli bir eserdir ve bir müzeye aittir!"

1
“Sizin için işe yaramazsa, kullanmayın” öznellik için bir itirazdır, bu nedenle “sorun değilsiniz” bir çelişkidir.
Jon Purdy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.