Як я можу використовувати Emacs для редагування питань, відповідей та коментарів тут?


58

Emacs як клієнт StackExchange?

Як я можу використовувати Emacs для редагування питань, відповідей та коментарів тут, на веб-сайті Emacs Stack Exchange?

Загалом, які можливі методи існують?

Вбивайте і тузайте

Це працює, але метод настільки громіздкий, що не варто його робити на коротких посадах або навіть на посадах середньої довжини.

Плагін браузера

Існує відносно добре відомий плагін веб-переглядача для Firefox, який дозволяє вам натискати текстовий вміст будь-якого місця <textarea>назад і назад між вашим редактором. Я припускаю, що він працює за допомогою тимчасових файлів, і я його не оцінював. Використання плагіна з emacs обговорювалося в StackOverflow . Я більше не користуюся Chrome.

API стека Exchange

Щось під назвою Режим обміну стеками для Emacs існує. Я цього не оцінював. Джерело не надто застаріле, але проект, очевидно, не завершений.

Інші варіанти?

Я шукаю пропозиції!

Мотивації

Незалежно від того, який метод використовується для редагування питань, відповідей та коментарів у emacs, я впевнений, що це дозволить нам легко виконувати деякі загальні завдання:

  • Дотримуйтесь конвенцій . Щось на кшталт M-x record-keystrokes-and-write-them-out-as-markdown RET C-x C-s C-g RET... може дати результат:

    C-x C-s C-g

  • Запитайте, що означає повідомлення про помилку: M-x post-region-on-emacs-se-as-question RET...


Я навмисно не зазначив у своєму питанні, що я користувач Linux. Чи я повинен? Звичайно, я найчастіше використовую SE, коли я на роботі, де я переглядаю Інтернет в хості Windows, а emacs працюють у Linux VM ...
daveloyall

Chrome Edit-with-emacs для мене не баггі ...
mankoff

Чи міг би користувач, який видалив свою відповідь, вирішив її повернути? Там була корисна функція Elisp. Чи неприйняті відповіді відраховуються від користувача якимось чином, про який я не знаю?
daveloyall

@daveloyall: Мене цікавить, які проблеми у вас виникли з рішенням текстових повідомлень Chrome ( розкриття інформації я є обслуговувачем Edit with Emacs). Я цілком із задоволенням редагую в ній StackExchange публікації та режим розмітки.
stsquad

@stsquad Ну, я не впевнений. У мене його більше не встановлено, тому я не впевнений, якою версією я користувався. Гаразд, я трохи копав (лише трохи) і виявив, що багато сюжетних рядків тут github.com/stsquad/emacs_chrome/isissue звучать як те, що я стикався. В основному, якщо javascript на якомусь веб-сайті може змусити його не працювати, це не те, що я шукаю ... У будь-якому разі, я перестав використовувати Chrome, коли оновлення остаточно відключило розширення, які не є веб-магазинами, як маленькі, про яких я писав локально.
daveloyall

Відповіді:


33

Дивіться проект Stack Exchange for Emacs . З їх сторінки:

SX буде повнофункціональним режимом обміну стеками для GNU Emacs 24+. Використовуючи офіційний API, ми прагнемо створити більш універсальний досвід для мережі Stack Exchange в межах самого Emacs.

скріншот


Артур Малабарба пообіцяв написати режим для цього, дивіться: twitter.com/bruceconnor/status/520692859109117952 Я рекомендував би провести його :)
Lee H

@Malabarba Я тебе до цього тримаю! :) ... Насправді, якби ця ідея мала репо-підтримку, я б дуже спокусився прийняти її як відповідь. Не те, що я єдине джерело інтернет-точок чи чогось іншого ...
daveloyall

Я дотримуюся цього. :-) поточний ЗНО навколо Різдва.
Малабарба

1
Як я не бачив цього запитання? : D Цікаво, що пакет працює 24.3. @dharmatech - Ви б не хотіли розмістити це як проблему ?
Шон Аллред

3
Нічого, просто прочитайте це, встановив sx.el від melpa, запустив його і ось я пишу коментар, використовуючи його. Фантастичний!
Тім Х

11

edit-serverможе допомогти. Це дозволяє вам редагувати будь-яке текстове поле всередині Chrome за допомогою Emacs, а потім відправляти текст назад у браузер з мінімальними зусиллями. Не зовсім те, що ви хотіли, але його вдосконалення.


коли ви кажете редагувати сервер, ви маєте на увазі плагін, який працює з Edit з Emacs у браузерах на базі Chrom (ium)?
stsquad


7

Я використовую, w3mщоб надіслати цю відповідь у Emacs. Сайти StackExchange не дуже добре виглядають у w3m, але надсилання форм працює чудово. (Я не зміг надіслати відповідь новим ewwбраузером.)

Я не рекомендую насправді робити це, тому що це здається досить болісним порівняно з використанням звичайного браузера із Emacs-подібними прив'язками (наприклад, клавіша для Firefox).

EDIT : Я повинен був вирішити капчу, щоб подати свою відповідь. На жаль, в буфері w3m не було показано жодної Captcha, тому мені довелося відвідати URL-адресу captcha у традиційному браузері.


5

Я завжди вважав, що вбивства і янка є достатнім, але у мене є специфічна для копіювання функція stackoverflow.

(defun copy-el-for-so (beg end)
  "copy region and format for SO."
  (interactive "r")
  (let ((text (buffer-substring-no-properties beg end)))
    (with-temp-buffer
      (insert "<!--Language: lang-lisp -->\n")
      (replace-string "\n" "\n    " nil (point)
                      (progn
                        (insert "\n" text)
                        (point)))
      (copy-region-as-kill (point-min) (point-max))
      (message "copied"))))

Що сприймає такі речі, як:

(defun process-exit-code-and-output (program &rest args)
  "Run PROGRAM with ARGS and return the exit code and output in a list."
  (with-temp-buffer
    (list (apply 'call-process program nil (current-buffer) nil args)
          (buffer-string))))

і перетворити їх на:

<!--Language: lang-lisp -->

    (defun process-exit-code-and-output (program &rest args)
      "Run PROGRAM with ARGS and return the exit code and output in a list."
      (with-temp-buffer
        (list (apply 'call-process program nil (current-buffer) nil args)
              (buffer-string))))

Крім того, я вважаю, що хромовані розширення Edit With Emacs є дуже приємними.


2
Я б запропонував редагувати через Emacs як окрему відповідь. І мені це теж приємно, а не баггі.
mankoff

5

Ключ реалізує зв'язки клавіш Emacs для Firefox. Він також служить платформою для плагінів, розширюючи архітектуру Firefox виразно Emacsesque.


1
Варто згадати, що існує плагін під назвою K2Emacs для Keysnail, який дозволить вам редагувати текстові області у зовнішній програмі (за замовчуванням Emacs).
Омар

1

Я використовував Firemacs і був дуже задоволений цим. Це розширення для firefox, яке дає вам прив'язку клавіш emacs. Він підтримує безліч клавіатурних зв'язків, включаючи вбивати та перебирати

Його можна встановити звідси .


1

Ви можете використовувати додаток Firefox It’s All Text . Це додасть крихітну кнопку "редагування" внизу будь-якої області тексту. При натисканні на нього (або за допомогою гарячої клавіші за замовчуванням C-S-v) запускається Emacs із вмістом у тимчасовому буфері. Напишіть буфер (повторно) та оновіть область тексту.

Моя конфігурація для цього - просто встановити редактор на /usr/bin/emacsclient.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.