Вопрос по – Режим Emacs для уценки переполнения стека

93

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

Читающий этот вопрос может быть заинтересован вSX - стек для Emacs! Sean Allred

Ваш Ответ

5   ответов
141
Интеграция Emacs с переполнением стека

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

Install Уценка режим. Если вы используете Debian или Ubuntu, вы можете установить его, введя

sudo apt-get install emacs-goodies-el

или если вы на emacs 24 (или у вас есть Package.el на emacs 23) и Marmalade или Melpa вы можете установить его с помощью

M-x package-install RET markdown-mode

Install Это все текст.

Установите все настройки текста для использования Emacs. Вы можете установить его в исполняемый файл (например, / usr / bin / emacs) или эмасклиент.

Добавьте следующее в свой .emacs, чтобы включить режим уценки для переполнения стека и текстовых областей Stack Exchange:

;; Integrate Emacs with Stack Exchange https://stackoverflow.com/a/10386560/789593
(add-to-list 'auto-mode-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+\\.txt" . markdown-mode))

Или, еслиas-external-alist определяется - еслиM-x describe-variable RET as-external-alist не подведет - вероятно, переопределит вашauto-mode-alist. Он имеет немного другой формат (это список пар вместо списка cons-ячеек), так что это будет работать:

(add-to-list 'as-external-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+\\.txt" markdown-mode))

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

На следующем снимке экрана находится буфер Emacs в режиме уценки, редактирующий этот пост:

Когда вы закончите редактирование в Emacs, сохраните буфер, чтобы отправить его в Firefox.

Если вы хотите использовать эту функцию для других доменов, вам нужно изменить приведенное выше регулярное выражение. Следующее распознает Stack Exchange, переполнение стека, Ask Ubuntu и Super User:

;; Integrate Emacs with Stack Exchange https://stackoverflow.com/a/10386560/789593
(add-to-list 'auto-mode-alist '("\\(stack\\(exchange\\|overflow\\)\\|superuser\\|askubuntu\\)\\.com\\.[a-z0-9]+\\.txt" . markdown-mode))
Использование режима уценки в режиме Org

Чтобы использовать MarkDow-режим с Org-режимом, вы можете использоватьункция @its для работы с исходным кодом. С его помощью вы можете включить блоки уценки в буферах в режиме Org, которые вы можете редактировать в режиме уценки. Вы можете использовать его следующим образом:

Когда в буфере режима Org введите<s на новой строке и нажмите Tab. Это приведет к

#+begin_src 

#+end_src

Войтиmarkdown после#+begin_src так что у тебя есть

#+begin_src markdown

#+end_src

Когда внутри блока источника (между#+begin_src markdown а также#+end_src) Нажмите C-c ' для редактирования исходного блока в режиме уценки.

Редактировать исходный блок в режиме уценки.

Нажмите C-c ', чтобы вернуться в буфер режима Org и вставить редактирование. Это может выглядеть так, как показано на следующем снимке экрана:

Если у вас естьas-external установлен (илиnxhtml-mode который устанавливаетas-external) он может полностью игнорировать настройкуauto-mode-alist, переменная, которую вы хотите изменитьтогд являетсяas-external-alist. quodlibetor
@ N, N. Это почти точно так же, но вы должны взять период из внутренней ячейки, у меня есть это, и это работает для меня:(add-to-list 'as-external-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+" markdown-mode)) quodlibetor
Возможно, вы можете обновить этот ответ, чтобы упомянутьSX - стек для Emacs:) Sean Allred
@ quodlibetor Могу ли я изменитьas-external-alist точно так же тогда? N.N.
Its All Text больше не поддерживается и не будет работать с последними версиями Firefox (57+) Iain
13

http: //jblevins.org/projects/markdown-mode

Видетьhttp: //emacswiki.org/emacs/MarkdownMod для некоторых настроек.

И здесь есть бэкэнд уценки для нового механизма экспорта:http: //orgmode.org/w/ р = орг-mode.git; а = blob_plain; е = вно / шепелявила / орг-md.el; ПП = ГОЛОВЫ

Убедитесь, что вы добавилиcontrib/lisp/ каталог к вашемуload-path.

Затем(require 'org-export) а также(require 'org-md).

M-x org-md-export-to-markdown RET экспортирует в уценку.

4

Хром имеет Редактировать с Emacs расширение, которое похоже на текст. После его установки вы найдете дополнительные инструкции на странице параметров расширения.

Существует группа настройки emacsedit-server с опциями, наиболее важно, что основное изменение режима для сайта настроено иначе, чем в ответе @ N.N:

(add-to-list 'edit-server-url-major-mode-alist
             '("^stackoverflow" . markdown-mode))

Также, чтобы сервер редактирования работал в терминальном emacs, мне пришлось отключитьedit-server-new-frame вариант.

0
С Chrome тоже легко

сколько проверка моего решения с использованием Редактировать с Emacs плагин Chrome и Emacs Редактировать сервер настроен на использование Уценка режим для Stackoverflow (и других сайтов Stackexchange, которые я использую). Все что мне нужно было сделать после установки расширения и MELPA пакеты были установлены

(setq edit-server-url-major-mode-alist
             '(("mail.google.com" . org-mode)
               ("stackoverflow\\.com" . markdown-mode)
               (".*\\.stackexchange\\.com" . markdown-mode)
               ("github\\.com" . markdown-mode)))
Поддержка сообщений электронной почты

Обратите внимание, в настройках выше, я использую Орг-режиме для сообщений Gmail. Здесь все еще нужно проделать небольшую работу, но можно, приложив немного усилий, составить ваше сообщение Gmail с помощью режима org, а затем использовать Орг-мим для создания HTML из вашего структурированного текста org. Вы можете просто использовать уценку и конвертацию уценки в html.

0

Pandoc поддерживает чтение подгруппы в режиме org и может выводить уценку.

Другими словами, вы можете продолжать писать в режиме org, включая курсив / вроде этого /, а затем экспортировать в уценку. Из emacs вы можете конвертировать в уценку, выбрав регион, нажав C-u M-S- \ и набрав pandoc -r org -t markdown, получив результат:

In other words, you can keep writing in org-mode, including writing italics *like this*, and then export to markdown.

Или вы можете сохранить файл и преобразовать его в командной строке.

Похожие вопросы