Які способи бути більш продуктивними з Emacs? [зачинено]


20

Я використовував Emacs зовсім небагато, і мені подобаються найосновніші команди / ярлики, але я знаю, що Emacs може запропонувати набагато більше, ніж те, що я використовую. Які деякі менш відомі функції emacs можуть допомогти мені стати більш продуктивним програмістом?


8
@ Хто б хто не проголосував, щоб закрити: це, безумовно, не тема ...
Chinmay Kanchi

1
Якщо це поза темою, я вважаю, що основною метою цього веб-сайту було б питання "розповісти мені свою улюблену історію".
МВС

2
Я не бачу, як це можна вважати поза темою. Якби я запитав це в Stack Overflow, він, ймовірно, був би закритий там як суб'єктивний. Тож якщо це не підходить на жодному з сайтів, де я повинен задати таке питання?
GSto

Продуктивний програміст, е ..
Деніел Літтл

2
Я голосую, щоб закрити це питання поза темою, оскільки це питання про програмний інструмент. Однак він є і занадто широким, і занадто старим, щоб перейти на стек Overflow.

Відповіді:


17

Вивчіть елісп.

  1. Це дозволяє програмувати будь-який ярлик, який ви можете придумати. Щоразу, коли ви виявляєте, що виконуєте багатоетапний процес для чогось корисного, ви робите з нього функцію і прив'язуєте її до комбінації гарячих клавіш.

  2. Це дозволяє експериментувати з функціональним програмуванням - вивчення нової парадигми - хороший спосіб розширити свій кругозір.


Плюс наявність певного рівня вільного потоку, відкриє світ налаштованості. Як тільки щось мене дратує, я просто намагаюся це виправити. Крім того, yasnippet дозволяє програмувати фрагменти, які дозволять зберегти тони друку (наприклад, змінити шаблон, вставлений, якщо ви знаходитесь у заголовку чи файлі реалізації, та близько мільйона інших хитрощів).
julien

9

Перегляньте цю сторінку SO, у ній є достатньо підказок, щоб підвищити продуктивність вашої Emacs як мінімум 2 рази:

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

Крім того, ви абсолютно позитивно повинні використовувати Org-режим, якщо ви користувач Emacs:

Org: Твоє життя в простому тексті

EDIT: На жаль, схоже, що модератори SO не лише закрили перше питання / посилання, але й видалили його, знищуючи знання та мудрість у процесі. (Давайте запишемо цю книгу, ми не знаємо, куди вона належить!) На даний момент єдиною корисною альтернативною посиланням, яку я знайшов, є нитка HN, що обговорює нитку SO:

Найбільш корисна особливість Emacs - Hacker News


Так посилання більше не працює
funkybro

Дякуємо за голову, який застосував альтернативу, це не так добре, але має кілька порад.
ліміст

1
Ви все ще можете знайти видалену публікацію на сайті www.stackprinter.com,
barracel

@barracel Дякую! Програма / послуга врятувала нас від дурості модераторів.
ліміст


4

Чудовий Стів Йегге написав дуже приємну публікацію в блозі 10 конкретних способів підвищення продуктивності за допомогою Emacs . Вона включає в себе хитрощі та звички

  • конфігурація клавіатури (заміна Caps-Lockта Controlперезавантаження M-X)
  • Видалення слова за допомогою backspace(якщо ви досить швидко набрали текст, позбутися від усього слова та перезаписати це зручніше, ніж постійно натискати, backspaceпоки не буде стерто друк)
  • Навігація шляхом поступового пошуку
  • Використовуючи тимчасові буфери та навчіться ефективно орієнтуватися по буферах
  • Позбавлення навігації за допомогою миші, меню та інших речей графічного інтерфейсу
  • Навчання користуватися довідковою системою
  • Навчання сили регулярних виразів

Він також перелічує деякі корисні режими emacs та згадує багато інших хитрощів, які змушують людей чекати в очікуванні майбутніх оновлень публікації блогу.


2

Я знаю, що ви спеціально запитували про методи та команди, але я б запропонував такий підхід на всій основі:

  1. Прочитайте книгу про Emacs: є декілька, включаючи посібник з Emacs та навчання Gnu Emacs від Cameron et al. Я знаю , «прочитати керівництво» звучить банально і поблажливо, але то , що я дійсно говорю, що кожен раз , коли я прочитав керівництво, я дізнаюся про що - то дійсно здорово , що я навіть не думати. Я завжди відчуваю, що не витратив достатньо часу на читання посібника.
  2. Увійдіть до спільноти Emacs: Emacswiki - це чудове місце для спілкування з іншими користувачами Emacs та дізнатися про цікаві пакети. Також приєднання до help-gnu-emacs може бути корисним, оскільки люди попросять про допомогу щодо функцій, які вони використовують, а за допомогою проксі ви можете дізнатися про ці функції. Я знайшов багато цікавих особливостей, побачивши, що хтось просить про допомогу, а потім прочитав про це в посібнику.
  3. Дізнайтеся про деякі Lisp : Коли ви зможете хоча б обговорити Emacs Lisp, ви опинитесь про нові функції.
  4. Використовуйте Emacs постійно. Я використовую Emacs для всього, крім веб-перегляду (що ви також можете зробити), і тому я завжди маю можливість навчитися краще робити щось нове за допомогою функції, що надається Emacs. Я використовую Emacs для пошти , планування та планування , контролю версій , документів LaTeX та програмування. Приблизно весь мій час проводять або в Emacs, або у Firefox.

2

Спеціальні модифікації робочого процесу

Коли я почав займатися розробкою тестових програм, я створив функцію elisp, яка дозволила мені легко переходити між файлом з одиничними тестами та файлом з виробничим кодом.

Я також почав використовувати ясніппети для кількох ключових мовних конструкцій, скорочуючи час, який мені потрібно, щоб писати те, що я пишу сотні разів щодня.

Останнє, але не менш важливе; Я створив luddite-режим , він просто вимикає панелі меню / інструментів, бахрому та смуги прокрутки, змушуючи мене максимально використовувати комбінації клавіш.


0

Дві команди, які я, як правило, використовую раз у раз, є string-rectangleі kill-rectangle. Перший дозволяє вставляти повторний текст у певний стовпчик через кілька рядків; останній робить навпаки.


-1

Я думаю, це не «менш відома» особливість, але я прагну використовувати Emacs для будь-якого повторного редагування тексту. Правило макросів клавіатури! http://jamesthornton.com/emacs/node/emacs_487.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.