Stack Overflow降价的Emacs模式

时间:2012-04-30 12:47:52

标签: emacs markdown org-mode

我在Emacs中使用Org-mode来处理我的所有技术文档。我想用Emacs来准备Stack Overflow的问题。是否有Emacs模式,甚至更好的是Org-mode的扩展来处理Stack Overflow格式?理想情况下,它应该包括Stack Overflow问题/注释缓冲区中使用的markdown语法支持的所有格式选项。

5 个答案:

答案 0 :(得分:141)

将Emacs与堆栈溢出集成

As mentioned您可以使用markdown-mode。要将markdown-mode与Stack Overflow集成,您可以使用Firefox插件It's All Text,它允许您使用外部编辑器编辑textareas。以下是设置方法:

  1. 安装markdown-mode。如果您使用Debian或Ubuntu,可以通过发布

    来安装它
    sudo apt-get install emacs-goodies-el
    

    或者如果你使用的是emacs 24(或者在emacs 23上有package.el)和MarmaladeMelpa,你可以使用

    进行安装
    M-x package-install RET markdown-mode
    
  2. 安装It's All Text

  3. 设置它是所有文本的首选项以使用Emacs。您可以将其设置为可执行文件(例如/ usr / bin / emacs)或the emacsclient
  4. 将以下内容添加到.emacs中以启用Stack Overflow和Stack Exchange textareas的markdown-mode:

     
    ;; 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))
    
  5. 按下textarea右下角的蓝色编辑按钮,通过emacs进行编辑。蓝色编辑按钮显示在以下屏幕截图中:

    Screenshot of the blue edit button at the bottom right side of this textarea

    在下面的屏幕截图中是一个Emacs缓冲区,在markdown-mode编辑这篇文章:

    Screenshot of an Emacs buffer in markdown-mode editing this post

  6. 在Emacs中完成编辑后,保存缓冲区以将其发送到Firefox。

  7. 如果您希望其他域使用此功能,则需要更改上面的正则表达式。以下内容识别Stack Exchange,Stack Overflow,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))
    

    使用带有组织模式的降价模式

    要在组织模式下使用markdow-mode,您可以使用its feature for working with source code。有了它,您可以在组织模式缓冲区中包含可以通过降价模式编辑的降价块。您可以按如下方式使用它:

    1. 在组织模式缓冲区中,在换行符上输入<s并按 Tab 。这将导致

      #+begin_src 
      
      #+end_src
      
    2. markdown后输入#+begin_src,以便

      #+begin_src markdown
      
      #+end_src
      
    3. 当在源块内(#+begin_src markdown#+end_src之间)时,按 Cc'以使用降价模式编辑源块。

      < / LI>
    4. 以降价模式编辑源块。

    5. C-c'返回组织模式缓冲区并插入编辑。这可能类似于以下屏幕截图所示:

      An Org-mode buffer editing a block of markdown code for this post

答案 1 :(得分:13)

有降价模式:http://jblevins.org/projects/markdown-mode/

请参阅http://emacswiki.org/emacs/MarkdownMode进行一些自定义。

此处有新的导出引擎降价后端: http://orgmode.org/w/?p=org-mode.git;a=blob_plain;f=contrib/lisp/org-md.el;hb=HEAD

确保将contrib/lisp/目录添加到load-path

然后(require 'org-export)(require 'org-md)

M-x org-md-export-to-markdown RET将导出为降价。

答案 2 :(得分:4)

@ N.N的答案也适用于Chrome,详情也有这些变化。

Chrome的扩展名为Edit with Emacs,与其所有文字类似。安装后,您可以从扩展选项页面找到更多说明。

有一个带有选项的emacs自定义组edit-server,最重要的是,每个网站的主要模式更改配置与@N.N的答案不同:

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

此外,要使编辑服务器在终端emacs中工作,我必须禁用edit-server-new-frame选项。

答案 3 :(得分:0)

Chrome太容易了

这不是对我使用的解决方案的测试的答案 该 Edit with Emacs铬 插件和Emacs Edit Server 配置为使用markdown-mode 对于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邮件支持

请注意,在上面的设置中,我使用 org-mode 来表示gmail消息。仍然需要 在这里做一点工作,但只需要一点努力就可以起草 你的gmail消息使用org-mode然后使用 org-mime 从中生成html 您的组织结构文本。你可以使用markdown和markh来降低HTML 转换。

答案 4 :(得分:0)

Pandoc支持读取组织模式的子集并可以输出降价。

换句话说,你可以继续以org-mode编写,包括写/斜体/ /,然后导出到markdown。 从emacs中你可以通过选择区域转换为markdown,点击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.

或者,您可以保存文件并在命令行进行转换。