Jakie są sposoby na zwiększenie wydajności dzięki Emacsowi? [Zamknięte]

20

Używam Emacsa dość często i czuję się swobodnie z najbardziej podstawowymi poleceniami / skrótami, ale wiem, że Emacs ma o wiele więcej do zaoferowania niż to, czego używam. Jakie są mniej znane funkcje emacsa, które mogą pomóc mi stać się bardziej produktywnym programistą?

GSto
źródło
8
@Kto głosował za zamknięciem: to zdecydowanie nie jest temat ...
Chinmay Kanchi,
1
Jeśli nie jest to temat, przypuszczam, że głównym celem tej witryny byłyby pytania typu „opowiedz mi swoją ulubioną historię”.
MIA
2
Nie rozumiem, jak można to uznać za nie na temat. Gdybym zapytał o to w Stack Overflow, prawdopodobnie byłby tam zamknięty jako subiektywny. Więc jeśli to nie pasuje do żadnej strony, gdzie mam zadać takie pytanie?
GSto
Wydajny programista eh ..
Daniel Little
2
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ dotyczy ono oprogramowania. Jest jednak zbyt szeroki i zbyt stary, aby przeprowadzić migrację do przepełnienia stosu.

Odpowiedzi:

17

Dowiedz się elisp.

  1. Umożliwia zaprogramowanie dowolnego skrótu, jaki możesz wymyślić. Za każdym razem, gdy wykonujesz wieloetapowy proces dla czegoś użytecznego, tworzysz z niego funkcję i łączysz ją z kombinacją klawiszy skrótu.

  2. Pozwala eksperymentować z programowaniem funkcjonalnym - nauka nowego paradygmatu jest dobrym sposobem na poszerzenie horyzontów.

AShelly
źródło
Dodatkowo posiadanie pewnej płynności elisp, otworzy świat konfigurowalności. Jak tylko coś mnie denerwuje, próbuję to naprawić. Yasnippet pozwala również na programowalne fragmenty, które mogą zaoszczędzić mnóstwo pisania (np. Zmienić wzór wstawiony, jeśli jesteś w pliku nagłówkowym lub implementacyjnym i około miliona innych sztuczek).
Julien
9

Sprawdź tę stronę SO, ma wystarczająco dużo wskazówek, aby zwiększyć produktywność Emacsa co najmniej 2x:

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

Ponadto, absolutnie pozytywnie musisz użyć trybu Org, jeśli jesteś użytkownikiem Emacsa:

Org: Twoje życie jako zwykły tekst

EDYCJA: Niestety, wydaje się, że moderatorzy SO nie tylko zamknęli pierwsze pytanie / link, ale również je usunęli, niszcząc przy tym wiedzę i mądrość. (Wypalmy tę książkę, nie wiemy, do kogo należy!) Na razie jedynym przydatnym alternatywnym linkiem, jaki znalazłem, jest wątek HN omawiający wątek SO:

Najbardziej przydatna funkcja Emacsa - Hacker News

limist
źródło
SO link już nie działa
funkybro
Dzięki za heads-up, postawienie alternatywy, nie jest tak dobre, ale ma kilka wskazówek.
limist
1
Nadal możesz znaleźć usunięty post na stronie www.stackprinter.com patrz: stackprinter.com/...
barracel
@barracel Dziękujemy! Program / usługa uratowała nas przed głupotą moderatorów.
limist
4

Z czubka mojej głowy:

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])

Ogólnie rzecz biorąc, rozdział Kompilowanie i testowanie na stronach informacyjnych to dobra lektura.

Trey Jackson
źródło
4

Świetny Steve Yegge napisał bardzo fajny post na blogu 10 konkretnych sposobów na zwiększenie produktywności dzięki Emacsowi . Obejmuje takie sztuczki i nawyki

  • konfiguracja klawiatury (Zamień Caps-Locki Controlponowne wiązanie M-X)
  • Usuwanie słowa za pomocą backspace(jeśli jesteś wystarczająco szybki typer, pozbycie się całego słowa i przepisanie go jest wygodniejsze niż ciągłe uderzanie, backspacedopóki twoja literówka nie zostanie skasowana)
  • Nawigacja poprzez wyszukiwanie przyrostowe
  • Używanie buforów tymczasowych i naucz się efektywnie nawigować po buforach
  • Pozbywanie się nawigacji za pomocą myszy, menu i innych elementów GUI
  • Nauka korzystania z systemu pomocy
  • Poznanie mocy wyrażeń regularnych

Wymienia także kilka przydatnych trybów emacsa i wymienia wiele innych sztuczek, które powodują, że ludzie czekają w oczekiwaniu na przyszłe aktualizacje posta na blogu.

FooF
źródło
2

Wiem, że konkretnie pytałeś o metody i polecenia, ale sugerowałbym następujące ogólne podejście:

  1. Przeczytaj książkę na temat Emacsa: jest ich kilka, w tym Podręcznik Emacsa i Nauka Gnu Emacsa autorstwa Camerona i in. Wiem, że „przeczytaj instrukcję” brzmi banalnie i protekcjonalnie, ale tak naprawdę mówię, że za każdym razem, gdy czytam instrukcję, dowiaduję się o czymś naprawdę fajnym, o czym nawet nie pomyślałem. Zawsze mam wrażenie, że nie spędziłem wystarczająco dużo czasu na czytaniu instrukcji.
  2. Wejdź do społeczności Emacs: Emacswiki to świetne miejsce do komunikowania się z innymi użytkownikami Emacsa i uzyskiwania informacji o fajnych pakietach. Dołączenie do help-gnu-emacs może być również dobre, ponieważ ludzie będą prosić o pomoc na temat funkcji, których używają, a przez proxy możesz dowiedzieć się o tych funkcjach. Znalazłem wiele interesujących funkcji, widząc kogoś proszącego o pomoc, a następnie czytającego o tym w instrukcji.
  3. Dowiedz się więcej o Lisp : kiedy możesz przynajmniej omówić Emacsa Lispa, będziesz w znacznie lepszym miejscu, aby dowiedzieć się o nowych funkcjach.
  4. Cały czas używaj Emacsa. Używam Emacsa do wszystkiego oprócz przeglądania stron internetowych (co możesz również zrobić), dlatego zawsze mam okazję dowiedzieć się, jak zrobić coś nowego lepiej dzięki funkcji udostępnianej przez Emacsa. Używam Emacsa do poczty , planowania i planowania , kontroli wersji , dokumentów LaTeX i programowania. Prawie cały mój czas spędzam w Emacsie lub Firefoksie.
Joel J. Adamson
źródło
2

Niestandardowe modyfikacje specyficzne dla przepływu pracy

Kiedy zacząłem tworzyć Test Driven Development, stworzyłem funkcję elisp, która pozwoliła mi w prosty sposób przeskakiwać między plikiem z testami jednostkowymi a plikiem z kodem produkcyjnym.

Zacząłem także używać yasnippetów do kilku kluczowych konstrukcji języka, co skraca czas, który zajmuje mi pisanie tego, co piszę setki razy każdego dnia.

Nie mniej ważny; Stworzyłem tryb luddite , po prostu wyłącza menu / paski narzędzi, frędzle i paski przewijania, zmuszając mnie do korzystania ze skrótów klawiaturowych w jak największym stopniu.

klang
źródło
0

Dwa polecenia, których zwykle używam, to string-rectanglei kill-rectangle. Ten pierwszy umożliwia wstawianie powtarzającego się tekstu w określonej kolumnie w kilku wierszach; ten drugi robi coś wręcz przeciwnego.

gablin
źródło