Какие способы повысить продуктивность с Emacs? [закрыто]

20

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

GSto
источник
8
@ Кто бы ни голосовал, чтобы закрыть: это определенно не по теме ...
Чинмай Канчи
1
Если это не по теме, я полагаю, что основная цель этого сайта - вопросы типа «расскажи мне свою любимую историю».
МВД
2
Я не понимаю, как это можно считать не по теме. Если бы я спросил об этом в Stack Overflow, он, вероятно, был бы закрыт как субъективный. Так что, если это не подходит ни на одном сайте, где я должен задать такой вопрос?
GSto
Продуктивный программист, эх ..
Даниэль Литтл
2
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он спрашивает о программном инструменте. Однако он слишком широк и слишком стар, чтобы перейти на переполнение стека.

Ответы:

17

Учись элисп.

  1. Это позволяет вам программировать любые ярлыки, которые вы можете придумать. Каждый раз, когда вы выполняете многошаговый процесс для чего-то полезного, вы делаете из него функцию и связываете ее с сочетанием клавиш.

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

AShelly
источник
Плюс некоторый уровень владения elisp, откроет мир конфигурируемости. Как только меня что-то раздражает, я просто пытаюсь это исправить. Также yasnippet позволяет программировать фрагменты кода, которые могут сэкономить тонны набора текста (например, изменить шаблон, вставленный, если вы находитесь в заголовке или файле реализации, и около миллиона других трюков).
Жюльен
9

Посетите эту SO-страницу, в которой есть достаточно советов, чтобы повысить производительность Emacs как минимум в 2 раза:

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

Кроме того, вы абсолютно обязательно должны использовать Org-режим, если вы пользователь Emacs:

Орг: твоя жизнь в простом тексте

РЕДАКТИРОВАТЬ: К сожалению, кажется, что модераторы SO не только закрыли первый вопрос / ссылку, но и удалили его, уничтожая знания и мудрость в процессе. (Давайте запишем эту книгу, мы не знаем, где она находится!) На данный момент единственной полезной альтернативной ссылкой, которую я нашел, является поток HN, обсуждающий поток SO:

Самая полезная особенность Emacs - Hacker News

limist
источник
ТАК ссылка больше не работает
фанкибро
Спасибо за хедз-ап, застрял в альтернативе, это не так хорошо, но есть несколько советов.
Лимист
1
Вы все еще можете найти удаленный пост в www.stackprinter.com,
barracel
@ barracel Спасибо! Программа / сервис спасли нас от глупости модераторов.
лимузин
4

С верхней части моей головы:

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

В целом, глава « Компиляция и тестирование программ» на страницах с информацией хороша для чтения.

Трей Джексон
источник
4

Великий Стив Йегге написал очень хороший пост в блоге « 10 конкретных способов улучшить свою производительность с Emacs» . Это включает в себя хитрости и привычки, такие как

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

Он также перечисляет некоторые полезные режимы emacs и упоминает много других хитростей, которые заставляют людей ждать будущих обновлений в блоге.

FOOF
источник
2

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

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

Пользовательские изменения, специфичные для рабочего процесса

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

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

Последний, но тем не менее важный; Я создал luddite-mode , он просто отключает меню / панели инструментов, полосы и полосы прокрутки, заставляя меня как можно больше использовать сочетания клавиш.

Кланг
источник
0

Две команды, которые я склонен использовать время от времени, являются string-rectangleи kill-rectangle. Первый позволяет вставлять повторяющийся текст в определенный столбец в несколько строк; последний делает обратное.

gablin
источник
-1

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


источник