Emacs ile daha üretken olmanın bazı yolları nelerdir? [kapalı]


20

Emacs'ı biraz kullandım ve en temel komutlar / kısayollarla rahatım, ancak Emacs'ın sunduğumdan çok daha fazla şey sunduğunu biliyorum. Daha verimli bir programcı olmamda bana yardımcı olabilecek emacs'ın daha az bilinen özelliklerinden bazıları nelerdir?


8
@ Kapatmak için oy kullandı: Bu kesinlikle konu dışı değil ...
Chinmay Kanchi

1
Bu konu dışı ise, sanırım bu sitenin ana amacı "bana en sevdiğin hikayeyi anlat" tipi sorular olacaktır.
MIA

2
Bunun konu dışı olarak nasıl değerlendirilebileceğini anlamıyorum. Eğer Stack Overflow sordum, muhtemelen orada öznel olarak kapalı olurdu. Peki Bu her iki siteye de uymuyorsa, böyle bir soru sormam gerekiyor mu?
GSto

Üretken programcı ha ..
Daniel Little

2
Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü bir yazılım aracı soruyor. Ancak, Yığın Taşmasına geçmek için çok geniş ve çok eski.

Yanıtlar:


17

Elisp öğrenin.

  1. Aklınıza gelebilecek herhangi bir kısayolu programlamanızı sağlar. Kendinize yararlı bir şey için çok adımlı bir işlem gerçekleştirdiğinizde, bundan bir işlev yaparsınız ve bir kısayol tuş bileşimine bağlarsınız.

  2. Fonksiyonel programlamayı denemenize izin verir - yeni bir paradigma öğrenmek ufuklarınızı genişletmenin iyi bir yoludur.


Ayrıca, belirli bir düzeyde elisp akıcılığına sahip olmak, bir yapılandırılabilirlik dünyası açacaktır. Bir şey beni rahatsız eder etmez düzeltmeye çalışıyorum. Ayrıca yasnippet, tonlarca yazmayı kaydedebilen programlanabilir snippet'lere izin verir (bir başlık veya uygulama dosyasındaysanız eklenen deseni değiştirmek ve yaklaşık bir milyon numara daha).
julien

9

Bu SO sayfasına göz atın, Emacs verimliliğinizi en az 2 kat artırmak için yeterli ipucu vardır:

http://stackoverflow.com/questions/60367?tab=votes&page=1

Ayrıca, bir Emacs kullanıcısıysanız kesinlikle Org modunu kullanmanız gerekir:

Kuruluş: Düz Metin İçinde Hayatınız

EDIT: Ne yazık ki, SO moderatörler sadece ilk soru / bağlantı kapalı değil, aynı zamanda kaldırıldı, süreçte bilgi ve bilgelik yok. (Bu kitabı yakalım, nereye ait olduğunu bilmiyoruz!) Şimdilik bulduğum tek faydalı alternatif bağlantı, SO iş parçacığını tartışan HN iş parçacığı:

En kullanışlı Emacs özelliği - Hacker News


SO link artık çalışmıyor
funkybro

Head-up için teşekkürler, bir alternatif sıkışmış, o kadar iyi değil ama bazı ipuçları var.
limist


@barracel Teşekkürler! Bir program / hizmet bizi moderatörlerin aptallığından kurtardı.
Limist

4

Kafamın üstünden:

M-x compile     (now do C-x ` to cycle through errors)
M-x gdb
M-x grep-find
M-x find-tag    (aka M-.  and C-u M-. is "next" tag)
inferior-processes (if you use an interpreted language, 
                    you can eval directly from Emacs)
C-x v v         ([version control][1])

Genel olarak, bilgi sayfalarının Derleme ve Test Programları bölümü iyi bir okumadır.


4

Büyük Steve Yegge, Emacs ile Verimliliğinizi Artırmanın 10 Özel Yolu olan çok güzel bir blog yazısı yazdı . Gibi hileler ve alışkanlıklar içerir

  • klavye yapılandırması (Takas Caps-Lockve Controlyeniden bağlama M-X)
  • Kelimeyi silmek backspace(yeterince hızlı yazıyorsanız, tüm kelimeden kurtulmak ve yeniden yazmak backspace, yazım hatası silinene kadar sürekli vurmaktan daha uygundur )
  • Artımlı aramayla gezinme
  • Geçici arabellekleri kullanma ve arabelleklerde verimli bir şekilde gezinmeyi öğrenme
  • Fare, menüler ve diğer GUI şeyleriyle gezinmeden kurtulma
  • Yardım sistemini kullanmayı öğrenme
  • Düzenli ifadelerin gücünü öğrenme

Ayrıca, bazı yararlı emacs modlarını listeler ve blog gönderisinde gelecekteki güncellemeler için insanları beklemelerini sağlayan diğer birçok numaradan bahseder.


2

Özellikle yöntem ve komutları sorduğunuzu biliyorum, ancak aşağıdaki çok yönlü yaklaşımı öneririm:

  1. Emacs hakkında bir kitap okuyun: Emacs El Kitabı ve Öğrenmek Gnu Emacs dahil Cameron Et al. Ben sesler basmakalıp ve küçümseyici, ancak asıl söylüyorum her zaman ki "el okumak" biliyorum ben manuel okumak, gerçekten ben bile düşünmedim o serin bir şey öğrenmek. Her zaman kılavuzu okumak için yeterince zaman harcamadığımı hissediyorum.
  2. Emacs Topluluğuna katılın : Emacswiki diğer Emacs kullanıcılarıyla iletişim kurmak ve harika paketler hakkında bilgi edinmek için harika bir yerdir. Yardım-gnu-emac'larına katılmak da iyi olabilir, çünkü insanlar kullandıkları özellikler hakkında yardım isteyecek ve proxy ile bu özellikler hakkında bilgi edinebilirsiniz. Birinin yardım istediğini görüp kılavuzda okuyarak birçok ilginç özellik buldum.
  3. Lisp hakkında bilgi edinin : En azından Emacs Lisp'i tartışabildiğinizde, yeni özellikler hakkında bilgi edinmek için çok daha iyi bir yerdesiniz.
  4. Her zaman Emacs kullanın. Emacs'ı web'de gezinme (ki bunu da yapabilirsiniz) dışında her şey için kullanıyorum ve bu nedenle Emacs tarafından sağlanan bazı özelliklerle yeni bir şeyi nasıl daha iyi yapabileceğinizi öğrenme fırsatı buldum. Emacs'ı posta , zamanlama ve planlama , sürüm kontrolü , LaTeX belgeleri ve programlama için kullanıyorum. Tüm zamanım Emacs veya Firefox'ta geçiyor.

2

Özel iş akışına özel değişiklikler

Test Odaklı Geliştirme yapmaya başladığımda, birim testli dosya ile üretim kodlu dosya arasında kolay bir şekilde atlamamı sağlayan bir elisp işlevi yaptım.

Ayrıca birkaç ana dil kurgusu için yasnippets kullanmaya başladım, her gün yüzlerce kez yazdığım şeyi yazmamın zamanını azalttım.

Sonuncu ama bir o kadar önemli; Luddite modu oluşturdum , menü / araç çubuklarını, saçakları ve kaydırma çubuklarını kapatıyor ve beni mümkün olduğunca klavye kısayollarını kullanmaya zorluyor.


0

Ara sıra kullanacağım iki komut string-rectangleve kill-rectangle. Birincisi, birkaç satıra belirli bir sütuna tekrarlanan metin eklemenize izin verir; ikincisi tam tersini yapar.


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.