Как быстро начать использовать и изучать Emacs

Использование Emacs имеет множество преимуществ, но для тех, кто знаком с обычными приложениями Win32, он имеет кривую обучения в виде стены. С большинством других редакторов можно просто начать использовать их, а затем узнать о других их функциях и улучшениях по мере продвижения.

Как сразу начать использовать Emacs, чтобы достичь того уровня, когда вы предпочитаете использовать Emacs над другими редакторами или приложениями?

Редактировать - чтобы попытаться прояснить вопрос: я сделал урок, прочитал несколько документов и т. Д., А затем вскоре после того, как мне захотелось быстро отредактировать какой-либо текст, было проще просто использовать другой редактор, который я уже знаю. Что мне нужно сделать, чтобы не только я не просто выбрал другой более простой редактор, но что я на самом деле предпочитаю использовать Emacs, и как добраться сюда как можно быстрее? Что если есть тренировочные колеса для Emacs?

10 ответов

Решение

Самая важная вещь в изучении того, как использовать Emacs - это... (пожалуйста, барабанная дробь), обучение тому, как использовать Emacs.

Хорошо, хорошо, хорошо. Это глупый ответ и тавтология, но это правда. Если вы запустите Emacs и подумаете про себя: "Как я могу найти каждый экземпляр слова" foobar "в моем дереве исходников?" худшее, что вы можете сделать, это нажать Alt + Tab и посетить Google.

Шутки в сторону.

Изучение системы помощи и ее работы - лучшее, что вы можете сделать. Так приятно просто нажать Ch найти, и вдруг получить всю необходимую информацию, прямо у вас под рукой.

Следующая лучшая вещь, которую вы могли бы сделать, это установить замечательный небольшой пакет под названием Icicles, который имеет несколько серьёзных функций завершения. После того, как вы установите его, просто знайте, что всякий раз, когда минибуфер запрашивает какой-либо ввод, вы можете теперь использовать регулярные выражения.

Как это применимо к поиску каждого файла в вашем исходном дереве? Ну, вы нажмете Mx, а затем наберете "найти". После этого вы можете нажать (например) Shift + Tab и Icicles, найдя каждую команду с префиксом "find". В качестве альтернативы, вы можете сделать Mx .находить. и это даст вам любую команду с поиском в нем.

Постройте шпаргалку. Просто сохраните сохраненный буфер где-нибудь, в котором есть все сочетания клавиш, которые вы часто используете. Удалите те, что вы знаете наизусть, и подберите новые. В большинстве случаев, когда вы выполняете команду Mx, буфер сообщений сообщит вам, какое сочетание клавиш было для этой команды (если оно было).

Учить. Клавиатура. Макросы.

Учить. Emacs. Лисп.

Идея Стивена Хьювига об использовании некоторых приложений-убийц хороша. Emacs проще в использовании, если вы хотите его использовать. Для меня это был Режим Планировщика. (Я только что перешел в режим Org, и это даже лучше.)

  • потратить 20 минут на обучение

    Ctrl-H T

Это приведет вас к тому, что вы сможете работать продуктивно (и этот мета-ключ, о котором вы прочтете, вероятно, либо Escape, либо alt).

Я думаю, что проще всего найти "приложение-убийцу" или два, которые лучше всего работают в Emacs. Для меня это был режим редактирования и взаимодействия SQL для Oracle. Как только вы уже используете Emacs для этого приложения-убийцы, будет более привлекательным просто открывать другие документы в Emacs, а не другой редактор.

Потенциальные убийцы приложений:

Обучение эффективному использованию Emacs по сути является медленным процессом, но оно того стоит.

Настройте файл.emacs прямо сейчас. Вы захотите настроить его немного. Звучит глупо, но наличие какого-либо контроля над источником в этом файле тоже поможет.

Чтобы было легче узнать о внутренностях Emacs, добавьте в свой.emacs:

(defalias 'ap' по поводу)

Затем, когда вы хотите посмотреть, есть ли команда для выполнения "чего-либо", введите "[Alt-x] ap [enter] что-то [enter]". У Emacs есть собственное название для вещи, поэтому иногда бывает сложно найти что-то ("дергать"? Серьезно? Называть его "резать", как и все остальные!)

"[Ctrl-h f] function-name [enter]" ищет справку для этой функции.

"[Ctrl-h m]" показывает подробную информацию о текущем режиме, например, о сочетаниях клавиш, характерных для этого режима.

Научитесь использовать Ctrl-s и Ctrl-r для пошагового поиска. Все текстовые редакторы должны прийти с этой функцией.

Добавьте сочетания клавиш в ваш.emacs, например:

(define-key global-map (kbd "Mz") 'повторить)
(define-key global-map (kbd "Cz") 'отменить)

Получите пакет redo.el, чтобы Emacs'меньше сосал.

Режим iswitchb неоценим. Это позволяет одновременно открывать десятки буферов и переключаться между ними в мгновение ока. Установите iswitchb и добавьте в свой.emacs:

(Iswitchb-режим)
(define-key global-map (kbd "M-RET") 'iswitchb-buffer)

Чтобы оценить выражение emacs-lisp, введите выражение в буфер, поместите курсор сразу после него и введите "[Ctrl-x Ctrl-e]". Это позволяет легко экспериментировать с различными настройками.

Помните, вам не нужно отпускать ctrl при наборе такой последовательности.

Посмотрите, где строка находится в буфере с помощью функции "возникновения". Вот некоторые удобные функции и сочетания клавиш для этого:

(определение слова в точке ()
  (вещь в точке))

(определение слова в точке или выборе ()
  (если активен
    (регулярное выражение-кавычка (буферная подстрока (отметка) (точка)))
    (конкат "\\")))

(defun найти слово в точке ()
  (Интерактивный)
  (происходит (слово в точке или выбор)))

(define-key global-map (kbd "Co") 'найти слово в точке)

(define-key isearch-mode-map (kbd "Co")
  (лямбда ()
    (Интерактивный)
    (пусть ((case-fold-search isearch-case-fold-search))
      (происходит (если isearch-regexp isearch-string
               (регулярное выражение-цитата isearch-string))))))

Мои идеи о том, как быстрее набрать скорость:

  1. Найдите другого пользователя Emacs и наблюдайте за ним несколько минут каждый день
  2. Пусть пользователь Emacs наблюдает за вами (и предоставляет обратную связь)
  3. Найдите больше пользователей Emacs и повторите шаги 1 и 2
  4. Подпишитесь на канал emacsen планеты, чтобы узнать, что изучают другие люди Emacs
  5. Следуйте совету по emacs дня
  6. Попробуйте ответить на вопросы Emacs на SO

Я использую Emacs уже более 15 лет и каждый день узнаю что-то новое, выполняя все вышеперечисленное.

Как сказал @Claudiu, просто используйте его. Просто пропустите и позвольте своим потребностям управлять вашей кривой обучения.

В конце концов вы попадете в точку, где вы "достаточно знаете, чтобы быть опасным", но в действительности не осваиваете окружающую среду. Это нормально. Потому что в этот момент вы, вероятно, будете весьма продуктивны. У вас будут базовые навыки и инструменты.

Со временем вы столкнетесь с вещами, которые вы делаете каждый день, от которых вы достаточно больны, чтобы попытаться найти время для "лучшего пути". Обычно ваш базовый набор навыков достаточен для того, чтобы обойтись, достаточно, чтобы (потенциально неизвестное) время, потраченное на какой-то альтернативный путь, не стоило затрат, особенно для чего-то редкого.

Но у вас может быть свободное время, или задача может быть достаточно большой, чтобы оправдать поиск вглубь.

На этом этапе вы станете скорее экспертом по Emacs, чем пользователем подмастерье.

Хотя я лично больше не использую Emacs (вместо этого полагаюсь на IDE), я скажу, что, хотя Emacs довольно сложен, вам нужно знать только небольшое подмножество, чтобы сделать его полезным и увлекательным. Я также скажу, что я никогда не "кричал на Emacs", тогда как я все время кричу на свою IDE. Да, Emacs делал меньше, чем то, что делал моя IDE, но я серьезно дошел до того, что может стоить моего времени, чтобы вернуться к нему и прекратить кричать.

Я просто чувствую, что Emacs более "детерминирован", чем моя IDE, которая время от времени любит ловить себя на земле, или требует перезагрузки, или чего-то еще.

Я никогда лично не разбивал Emacs (что, как говорят некоторые, означает, что я не использую его достаточно сложно...)

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

Я предполагаю, что единственная "хитрость", которую я бы предложил, состоит в том, что после того, как вы откроете файл для редактирования, попробуйте ctrl-h m, чтобы вывести список привязок клавиатуры, которые работают в режиме этого буфера.

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

  2. Стремитесь настроить Emacs в нужный вам редактор, это самое большое преимущество использования Emacs, и оно поможет вам узнать обо всех его возможностях и о том, как он расширяется.

  3. Будем рады, что, условно говоря, изучение Emacs намного проще благодаря сообществу здесь, в SO и других местах, таких как EmacsWiki.:)

  4. Работайте с этого момента... а) Связывание клавиш и настройка. б) Макросы и редактор макросов. в) Elisp и ваши собственные пользовательские библиотеки.

Стоит также отметить, что настройка Emacs на работу, подобную более современному приложению, может быть болезненной, вам нужно будет сделать что-то вроде запуска сервера emacs и использования клиента emacs.

К счастью (re: 3), в сети доступно много помощи, но если у вас есть прямой доступ к опытному пользователю Emacs, считайте себя счастливчиком.

Мой совет:

  • Изучите основы (как печатать, сохранять документ, включать подсветку синтаксиса, возможно, копировать и вставлять). Вы можете посмотреть, как это сделать в Интернете (возможно, Google "emacs tutorial")
  • Начните использовать это.

Всякий раз, когда вы хотите, чтобы вы знали, как сделать что-то, посмотрите, как это сделать. Возможно, вам придется искать одну и ту же вещь 3-4 раза, прежде чем вы ее получите, но тогда вы научитесь этому.

Продолжай делать это. Сначала это будет раздражать, но потом вы привыкнете к этому, и тогда вам даже может понравиться это!

(ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Лично я просто использую другой редактор).

Включите icomplete-mode, и вы часто будете видеть функции, которые выглядят полезными при просмотре.

(icomplete-mode t)

В вашем файле.emacs.

Ch f позволит вам найти строку документации для функции, а Ch v сделает то же самое для переменной. С icomplete, это отлично подходит для изучения.

Другие вопросы по тегам