Answers:
如前所述,您可以使用markdown-mode。要将markdown-mode与Stack Overflow集成在一起,可以使用Firefox插件It's All Text,该插件使您可以使用外部编辑器编辑textarea。设置方法如下:
安装markdown-mode。如果您使用Debian或Ubuntu,则可以通过发出以下命令进行安装
sudo apt-get install emacs-goodies-el
或者,如果您使用的是emacs 24(或emacs 23上的package.el)和果酱或Melpa,则可以使用
M-x package-install RET markdown-mode
安装全部内容。
将以下内容添加到您的.emacs中,以为堆栈溢出和堆栈交换文本区域启用markdown模式:
;; 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
。它的格式略有不同(它是对列表而不是con单元格列表),因此可以正常工作:
(add-to-list 'as-external-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+\\.txt" markdown-mode))
按下文本区域右下角的蓝色编辑按钮,以通过emacs对其进行编辑。以下屏幕截图显示了蓝色的编辑按钮:
在以下屏幕截图中,是以markdown模式编辑此帖子的Emacs缓冲区:
在Emacs中完成编辑后,保存缓冲区以将其发送到Firefox。
如果您需要其他域的此功能,则需要更改上面的正则表达式。以下内容可识别堆栈交换,堆栈溢出,询问Ubuntu和超级用户:
;; 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与Org-mode一起使用,您可以使用其功能处理源代码。有了它,您可以在组织模式缓冲区中包括markdown块,您可以通过markdown-mode编辑它们。您可以按以下方式使用它:
在组织模式缓冲区中时,请输入<s
换行符并按Tab。这将导致
#+begin_src
#+end_src
输入markdown
后,#+begin_src
以便
#+begin_src markdown
#+end_src
在源代码块中(在#+begin_src markdown
和之间#+end_src
)时,按C-c '以markdown模式编辑源代码块。
在markdown模式下编辑源代码块。
按C-c '返回到组织模式缓冲区并插入编辑。看起来就像以下屏幕截图所示:
as-external
安装(或nxhtml-mode
它安装as-external
),它可能会完全忽略你的调整auto-mode-alist
,你要修改的变量,然后是as-external-alist
。
as-external-alist
以完全相同的方式修改吗?
(add-to-list 'as-external-alist '("stack\\(exchange\\|overflow\\)\\.com\\.[a-z0-9]+" markdown-mode))
有markdown模式: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=头
确保将contrib/lisp/
目录添加到load-path
。
然后(require 'org-export)
和(require 'org-md)
。
M-x org-md-export-to-markdown RET
将导出到降价。
@NN的答案也适用于Chrome,但这些细节有所更改。
Chrome浏览器具有Edit with Emacs扩展名,类似于It's all text。安装后,您将在扩展选项页面中找到更多说明。
有一个edit-server
带有选项的emacs定制组,最重要的是,每个站点的主要模式更改的配置与@NN的答案不同:
(add-to-list 'edit-server-url-major-mode-alist
'("^stackoverflow" . markdown-mode))
另外,为了使编辑服务器在终端emacs中工作,我必须禁用该edit-server-new-frame
选项。
Pandoc支持读取组织模式的子集,并且可以输出markdown。
换句话说,您可以继续以org模式书写,包括以斜体//像this /这样写,然后导出到markdown。从emacs中,您可以通过选择区域,单击Cu MS- \并键入pandoc -r org -t markdown来转换为markdown,获得如下输出:
In other words, you can keep writing in org-mode, including writing italics *like this*, and then export to markdown.
或者,您可以保存文件并在命令行将其转换。
这不是解决方案测试的答案,而是使用Emacs chrome插件编辑和 配置为 对Stackoverflow 使用markdown-mode(以及我使用的其他Stackexchange网站)的Emacs Edit Server进行的解决方案测试 。设置了扩展和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消息,然后使用org-mime从您的组织结构化文本中生成html。您可以只使用markdown和markdown进行html转换。