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

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

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

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

Ответы

Ответ 1

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

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

Серьезно.

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

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

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

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

Learn. Клавиатура. Макросы.

Learn. Emacs. Lisp.

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

Ответ 2

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

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

  • Режимы редактирования и взаимодействия SQL
  • nxml-mode
  • AUCTeX
  • Режим CPerl (лучший режим Perl)
  • PCL-CVS
  • SLIME
  • js2-mode (Javascript)

Ответ 3

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

    ctrl-h t

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

Ответ 4

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

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

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

(defalias 'ap 'apropos)

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

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

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

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

Добавьте привязки клавиш к вашим .emacs следующим образом:

(define-key global-map (kbd "M-z") 'redo)
(define-key global-map (kbd "C-z") 'undo)

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

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

(iswitchb-mode)
(define-key global-map (kbd "M-RET") 'iswitchb-buffer)

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

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

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

(defun word-at-point ()
  (thing-at-point 'word)
  )

(defun word-at-point-or-selection ()
  (if mark-active
    (regexp-quote (buffer-substring (mark) (point)))
    (concat "\\")
    )
  )

(defun find-word-at-point ()
  (interactive)
  (occur (word-at-point-or-selection))
  )

(define-key global-map (kbd "C-o") 'find-word-at-point)

(define-key isearch-mode-map (kbd "C-o")
  (lambda ()
    (interactive)
    (let ((case-fold-search isearch-case-fold-search))
      (occur (if isearch-regexp isearch-string
               (regexp-quote isearch-string))))))

Ответ 5

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

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

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

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

В этих точках вы станете более опытным человеком Emacs, чем пользователь подмастерья.

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

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

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

Ответ 6

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

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

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

Ответ 7

Мой совет:

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

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

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

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

Ответ 8

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

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

Ответ 9

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

(icomplete-mode t)

В файле .emacs.

C-h f позволит вам искать docstring для функции, а C-h v сделает то же самое для переменной. С помощью icomplete это отлично подходит для изучения.

Ответ 10

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

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

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

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

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

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