Como posso usar o Emacs para editar perguntas, respostas e comentários aqui?


58

Emacs como um cliente StackExchange?

Como posso usar o Emacs para editar perguntas, respostas e comentários aqui no site do Emacs Stack Exchange?

Em termos gerais, que métodos possíveis existem?

Matar e puxar

Isso funciona, mas o método é tão complicado que não vale a pena para postagens curtas ou mesmo postagens de tamanho médio.

Plugin do navegador

Existe um plugin de navegador relativamente bem conhecido para o Firefox que permite enviar o conteúdo de texto de qualquer lugar <textarea>entre o editor de sua escolha. Presumo que funcione através de arquivos temporários e não o avaliei. O uso do plug-in com o emacs foi discutido no StackOverflow . Eu não uso mais o Chrome.

API do Stack Exchange

Existe algo chamado Stack Exchange Mode para Emacs . Eu não o avaliei. A fonte não é muito antiga , mas o projeto obviamente não está concluído.

Outras opções?

Eu procuro sugestões!

Motivações

Independentemente do método usado para editar perguntas, respostas e comentários no emacs, tenho certeza de que isso nos permitirá realizar algumas tarefas comuns com facilidade:

  • Aderir às convenções . Algo como M-x record-keystrokes-and-write-them-out-as-markdown RET C-x C-s C-g RET... pode render:

    C-x C-s C-g

  • Pergunte o que significa uma mensagem de erro: M-x post-region-on-emacs-se-as-question RET...


Eu deliberadamente não mencionei na minha pergunta que sou um usuário de Linux. Eu devo? Claro, eu uso SE na maioria das vezes quando estou no trabalho, onde eu faço toda a minha navegação na Internet em um host e emacs trabalho do Windows em uma máquina virtual Linux ...
daveloyall

Chrome Edit-com-emacs não é buggy para mim ...
Mankoff

O usuário que excluiu sua resposta consideraria colocá-la de volta? Havia uma função elisp útil lá. Respostas inaceitáveis ​​contam contra um usuário de alguma maneira que eu não conheço?
precisa saber é o seguinte

@daveloyall: Estou interessado em quais problemas você teve com a solução de área de texto do Chrome ( divulgação eu sou o mantenedor do Edit with Emacs). Felizmente, edito as postagens do StackExchange e o modo de remarcação.
Stsquad

@stsquad Bem, não tenho certeza. Não o tenho mais instalado, então não tenho certeza de qual versão usei. Ok, fiz uma pequena escavação (apenas um pouco) e descobri que muitas das linhas de assunto aqui github.com/stsquad/emacs_chrome/issues parecem o tipo de coisa que encontrei. Basicamente, se o javascript em algum site pode fazê-lo não funcionar, não é o que estou procurando ... Enfim, parei de usar o Chrome quando uma atualização desativava permanentemente as extensões de lojas que não são da Web, como as pequenas que escrevi localmente.
daveloyall

Respostas:


33

Veja o projeto Stack Exchange for Emacs . Na página deles:

O SX será um modo de troca de pilha completo para o GNU Emacs 24+. Usando a API oficial, nosso objetivo é criar uma experiência mais versátil para a rede Stack Exchange no próprio Emacs.

captura de tela


Artur Malabarba prometeu escrever um modo para isto, veja: twitter.com/bruceconnor/status/520692859109117952 Eu recomendaria segurando-o a ele :)
Lee H

@ Malabarba eu estou segurando você! :) ... De fato, se essa idéia tivesse um repositório, eu ficaria muito tentado a aceitá-la como resposta. Não que eu seja a única fonte de pontos de internet ou qualquer coisa ...
daveloyall

Eu vou cumpri-lo. :-) ETA atual é por volta do Natal.
Malabarba 22/10

11
Como eu não vi esse Q? : D Curiosamente, o pacote funciona imediatamente em 24.3. @ dharmatech - você se importaria de postar isso como um problema ?
Sean Allred

3
Uau, basta ler isso, instalei o sx.el da melpa, executei e aqui estou escrevendo um comentário usando-o. Fantástico!
Tim X

11

edit-serverpode ser de alguma ajuda. Permite editar qualquer campo de texto dentro do Chrome com o Emacs e depois enviar o texto de volta ao navegador com o mínimo de esforço. Não é exatamente o que você queria, mas é uma melhoria.


quando você diz edit-server, você quer dizer o plug-in que funciona com o Edit with Emacs em navegadores baseados no Chrom (ium)?
Stsquad


7

Estou usando w3mpara enviar esta resposta do Emacs. Os sites StackExchange não parecem muito bons no w3m, mas o envio de formulários funciona bem. (Não foi possível enviar uma resposta com o novo ewwnavegador.)

Na verdade, eu não recomendo fazer isso, porque parece bastante doloroso comparado ao uso de um navegador comum com ligações do tipo Emacs (por exemplo, miniatura do Firefox).

EDIT : Eu tive que resolver um captcha para enviar minha resposta. Infelizmente, nenhum captcha foi mostrado no buffer w3m, então tive que visitar o URL do captcha em um navegador tradicional.


5

Sempre achei que matar e puxar é suficiente, mas tenho uma função de cópia específica de stackoverflow que uso.

(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"))))

O que leva coisas como:

(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))))

e transformá-los em:

<!--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))))

Como alternativa, acho as extensões de cromo Edit With Emacs muito agradáveis.


2
Eu sugiro Editar com o Emacs como resposta separada. E acho isso legal também, e não de buggy.
Mankoff

5

O Keysnail implementa as combinações de teclas do Emacs para o Firefox. Ele também serve como uma plataforma para plug-ins, estendendo a arquitetura do Firefox de maneira distinta emacsesca.


11
Vale ressaltar que existe um plugin chamado K2Emacs for Keysnail, que permite editar áreas de texto em um programa externo (por padrão, o Emacs).
Omar

1

Eu tenho usado o Firemacs e fiquei muito feliz com isso. É uma extensão do firefox que fornece a combinação de teclas do emacs. Ele suporta muitas combinações de teclas, incluindo kill e yank.

Pode ser instalado a partir daqui .


1

Você pode usar o complemento do Firefox É Todo o Texto . Isso adicionará um pequeno botão "editar" na parte inferior de qualquer área de texto. Clicar nele (ou usar uma tecla de atalho, padrão C-S-v) aciona o Emacs com o conteúdo em um buffer temporário. Escreva o buffer (repetidamente) e a área de texto é atualizada.

Minha configuração é simplesmente configurar o Editor para /usr/bin/emacsclient.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.