Чему научить новичка в Emacs?

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

Start emacs: emacs
 ...
Quit emacs: C-x C-c

Что еще вы бы заставили их делать между запуском и выходом из Emacs, пока вы стояли за ними?

Какая задача сейчас? Подходит ли Emacs для работы?

jfs 23.11.2008 20:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
26
1
5 663
13
Перейти к ответу Данный вопрос помечен как решенный

Ответы 13

Покажите им, как начать обучение: C-h t

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

Brian C. Lane 23.11.2008 19:57

я думаю, вы покажете ему, как

  • открывать и сохранять файлы
  • убить / переключить буферы
  • переключать / уничтожать / разбивать окна
  • для выбора диапазона.

И расскажи ему про M-x. Скажите ему, что он где-нибудь записывает эти шаги. Я думаю, что базовую навигацию можно выполнить с помощью клавиш со стрелками. Теперь это все, что ему нужно.

Если он знает о M-x, он может легко найти поиск, замену и другие вещи.

Когда я запускаю XEmacas, до тех пор, пока я не нажму клавишу, он будет переключаться между двумя экранами. В одном из них есть следующее:

XEmacs 21.4 (patch 21) "Educational Television" (cygwin, Mule) of Tue Dec  4 2007 on vzell-de 

`C-' means the control key,`M-' means the meta key 


Information, on-line help: 

XEmacs comes with plenty of documentation... 


M-? F: read the XEmacs FAQ (a capital F!) 
M-? t: read the XEmacs tutorial (also available through the Help menu) 
f1: get help on using XEmacs (also available through the Help menu) 
M-? i: read the on-line documentation 

M-x describe-project: read about the GNU project 
M-x about-xemacs: see who's developing XEmacs 

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

Я бы показал ярлыки для наиболее распространенных операций, таких как:

  • Сохранить: ctrl-x-s
  • Сохранить как: ctrl-x-w
  • Открыть / найти файл: Ctrl-f
  • Отменить: ctrl-_
  • Убить буфер: ctrl-x-k
  • Перейти в буфер: ctrl-b
  • Заполните абзац: M-q

И скопируйте / вырежьте и вставьте:

  • Установить маркер: ctrl-space
  • Вырезать: ctrl-w
  • Копия: M-w
  • Линия разреза: ctrl-k
  • Вставить: ctrl-y
  • Откройте файл,
  • Сохраните файл,
  • Базовая навигация,
  • Установить отметку, скопировать, вырезать и вставить,
  • Показать кольцо отмены и убийства,
  • Показать C-g,
  • Показать поиск и заменить,
  • Разделить окно и перейти в другое окно,
  • Переключитесь на другие буферы,
  • Показать учебник,
  • Объясните информацию,
  • Шоу направлено на:
    • открыть какой-нибудь файл,
    • запустить команду для сжатия другого файла,
    • открыть, отредактировать и сохранить сжатый файл,
    • открыть каталог на удаленном хосте,
    • открыть и сохранить файл на удаленном хосте,
    • скопируйте какой-нибудь файл с удаленного хоста.
  • Откройте оболочку, запустите какую-нибудь длинную команду вывода и перейдите в буфер.

C-x M-c M-бабочка

Мне еще предстоит освоить эту команду, но я продолжаю пытаться.

seth 26.11.2008 05:23

Фактически, в недавнем Emacs это команда M-x butterfly.

Laurent 11.04.2011 17:11
Ответ принят как подходящий

Если бы у меня было всего 10 минут, я бы вообще не учил их ярлыкам. Все стандартные ярлыки доступны рядом с соответствующими командами в меню; те, которые пользователи могут открыть для себя.

Наиболее важные вещи, которым нужно научить, - это те, которые позволят пользователям открывать / изучать сами:

  • Чтобы выйти из Emacs, используйте C-x C-c или File-> Quit. В случае зависания следует ввести C-g, а если не работает, ESC ESC ESC. [Это, наверное, самый полезный совет, чтобы предотвратить полное разочарование в Emacs, поверьте мне.]

  • Учебник: Справка-> Учебник по Emacs или C-h t. [Это не очень полезный ярлык для помнить; учитывая, сколько раз в жизни человек читает учебник ...]

  • Концепция, согласно которой каждое нажатие клавиши в Emacs привязано к функции, и все, что делает Emacs, - выполняет функции одну за другой. Что существует больше функций, чем может быть связано с клавишами, и функции без нажатия клавиши могут быть вызваны с помощью M-x function-name.

  • С помощью C-h k [keystroke] можно узнать, какую функцию вызывает конкретная клавиша. Заставьте пользователя пройти через несколько из них (включая забавный факт, что ввод буквы не является чем-то особенным и просто вызывает self-insert-command, поэтому, если хотите, можно было бы привязать букву 'z' для отправки электронной почты вместо этого: D)

  • Что можно искать возможные полезные функции с помощью C-h a (или M-x apropos-command), например C-h a paragraph показывает все команды, относящиеся к абзацам, включая то, какие ярлыки переводят одну в конец / начало абзаца. И этот C-h w command-name сообщит вам, привязана ли команда к какому-либо нажатию клавиши или нет. [Заставьте их пройти через это, чтобы узнать, какой ключ для отменить - обычно они пробуют C-z, и это раздражает :)]

  • Вы можете прочитать подробную документацию о том, что функция делает с M-x describe-function (C-h f). Emacs имеет отличную документацию по большинству вещей; а M-x apropos-documentation (C-h d) - отличный способ что-то открывать.

  • Эти настройки хранятся в .emacs, и что некоторые вещи можно почерпнуть, просмотрев этот файл, даже если вы не понимаете Emacs Lisp.

  • Что обычно можно найти все нажатия клавиш, которые «завершают» определенный набор клавиш, набрав C-h после него, например «C-x C-h» покажет все ярлыки, начинающиеся с C-x; C-h C-h особенно полезен; C-c C-h полезен для команд, зависящих от режима, таких как режим java, режим C++, режим LaTeX и т. д. (Хм, "режимы" ...)

  • Что при застревании можно искать по http://www.emacswiki.org/. (Или задайте вопрос в IRC-канале #emacs на Freenode или отправьте сообщение в gnu.emacs.help.)

Это должно уместиться за 10 минут, и я думаю, это самый важный материал. Я бы не стал запоминать слишком много ярлыков; в любом случае это бессмысленно - если пользователи знают, как находить ярлыки, они найдут ярлыки для всего, что они используют чаще всего. Попросите их записать имена этих команд, а также о Emacswiki и т. д.

Важно показать им, насколько мощен Emacs и насколько универсальна его модель (все эти шутки о том, что это операционная система, не просто шутки). Если вы просто покажете кучу тайных ярлыков для выполнения вещей, которые они уже могут делать в других редакторах, Emacs не будет стоить всех усилий. В том же духе я полностью поддерживаю ответ Антона Назарова, показывающий им, что может делать Emacs (AucTeX, если они используют LaTeX и т. д.) Для конкретных целей их. Затем они смогут сами судить, стоит ли изучать Emacs, и учиться, используя все вышеперечисленное.

Я бы показал самое важное для новичка в пользовательском режиме. Например, когда я показываю Emacs своим друзьям с факультета физики, я показываю им AucTeX с превью-латексом и RefTeX. Также iMaxima великолепен. Если мне нужно показать Emacs разработчикам программного обеспечения, я показываю им что-то вроде режима JDEE или Python с Ropemacs. Тетрис, бродяга и w3m можно использовать, чтобы дать понять, что Emacs может все :) Затем я покажу, как запустить туториал, и дам ссылку на EmacsWiki.org

Когда вы приводите примеры emacs, никогда не бывает достаточно указать только привязку клавиш, поскольку она может меняться и действительно меняется. C-x M-c не определен в моей системе.

Часто мета-ключ (часть M-) можно эмулировать с помощью клавиши Escape. Таким образом, часто можно получить доступ к M-x, нажав клавишу выхода, отпустив ее, а затем нажав x.

jvriesem 12.02.2020 06:31
  1. Научитесь пользоваться справкой C-h C-h
  2. Выполните учебное упражнение.
  3. Убейте что-нибудь, и еще одно, и еще одно, затем C-y, чтобы выдернуть его, и M-y, чтобы цикл уничтожения. Большой фактор "Вау", быстро и дешево. Затем скажите им он работает в их повседневной оболочке.
  4. Перемещайтесь по буферу с помощью знак кольцо. C-u C-SPC (пробел) переводит вас в где ты был раньше и, повторяя, циклически проходит через 16 последних позиций, независимо от состояния редактирования.

Вы знаете, когда вы застенчиво отменяете все, чтобы добраться «туда, где вы были раньше»? Вот и все.

Это убийственный трюк emacs-ниндзя. Все должны знать это как можно скорее.

+1 за указание на то, что у снарядов тоже есть смертельные кольца.

phils 03.12.2011 15:28

Я бы хотел увидеть там первые шаги для варианта 3 ....

jvriesem 12.02.2020 06:31

Я думаю, что первое, что нужно спросить, прежде чем пытаться их чему-то научить, - это «что они хотят получить от изучения Emacs?» И вы пытаетесь продать им идею изучения Emacs, или они уже преданы этому делу.

Если они программисты и ищут новую среду разработки, покажите им ECB, как работают теги и т. д.? Если они ищут общий текстовый редактор, покажите им M-x re-builder. Если они хотят быстро писать документы и в конечном итоге их опубликовать, покажите им org-mode с экспортом в HTML и LaTeX.

Помимо того, что уже было упомянуто, я бы также показал им M-x global-set-key после того, как показал M-x в целом и M-x apropos.

Я бы сказал им, что суть Emacs в том, что он бесконечно настраивается и что нужно персонализировать его в соответствии со своими предпочтениями. Я бы посоветовал им сначала опробовать стандартные привязки клавиш и показать их преимущества в Bash, OS X и т. д.

  • C-g
  • Копировать вставить
  • Разделить окна
  • M-x
  • По поводу
  • Описать ключ
  • Опишите команду
  • Открытые файлы
  • Переключить буферы
  • Среда разработки для конкретного языка, включая отладчик и REPL.

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