Як я можу використовувати 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.