Emacs中reStructuredText模式(rst-mode)的快捷键

这篇是前面一篇reStructuredText教程文章的补充,因为本人使用Emacs来编辑rst文件,为了加快编辑速度,需要使用到rst-mode下的快捷键,因此根据文档整理出一份快捷键,方便自己后继查找使用,也希望能够给有需要朋友一些帮助。

快捷键 说明
M-x rst-mode 进入rst-mode。
C-h v rst-version 查看当前rst-mode的版本。如果要查看emacs的版本,后面变成emacs-version即可
C-c C-a *这个开始的是编辑标题用的快捷键前缀,需要配合后面的的按键使用(下同)。
C-c C-c *编译当前文档的前缀快捷键
C-c C-l *列表的快捷键前缀
C-c C-r *操作当前区域的命令的快捷键前缀。
C-c C-t *TOC相关的快捷键前缀。
C-h m 在rst-mode下,这个是列出所有模式的按键绑定列表。
C-c C-a C-a 插入标题
C-c C-= 同上,注意:在Linux的命令行下,Mitchell测试下来无效(Emacs Version =24.3),Win 7下正常。
C-= 同上,注意:在Linux的命令行下,同样无效。不识别C-=这个快捷键,不知道为什么.
C-- C-= 默认Emacs中下的Title是使用上下划线的方式表示。使用这个快捷键可以切换成下划线和上下划线的表示方式。Linux命令行下失效,
C-u C-= 同上功能,Linux命令行失效。
C-u - C-c C-a C-a 功能同上,Linux命令行下有效.
C-c C-a C-s 把当前文档的所有标题的修饰符改成统一(一般是:=-)的表示方式。
C-c C-a C-d 查看标题的层级及其修饰符.
C-M-a rst-backward-section,跳到上一个章节的标题
C-M-e rst-forward-section,跳到下一个章节的标题上
C-M-h rst-mark-section,标记当前章节内容,选中章节内容
M-} forward-paragraph,跳到下一个段落。
M-{ backward-paragraph,跳到上一个段落。
C-c C-r TAB rst-shift-region, 是文本块享有缩进一个TAB的位置。如果之前选中了一个区域,那么在使用的时候,被选中区域内的所有块都会向右缩进一个TAB位置。这个有的时候缩进会错乱,还不知道是什么情况。
M-- C-c C-r TAB 向左移动一个TAB位置。上个命令和这个命令都可以在前面加上M-2或者M-- 2表示是向右还是向左移动的位置数(2为移动两个TAB位置),如果是M-0做前缀,则移除所有的所经。
C-j newline-and-indent,换行并缩进,会根据当前情况进行缩进排版。
M-q fill-paragraph, 填充段落。如果你一个段落被分成好几行,那么当你按下这个的时候,当前段落会重排成一行。
C-c C-l C-e rst-enumerate-region,将当前区域变成有序列表,如果选中区域是多行,并且行之间有空行,则会以空行为界,转换成多个列表项,没空行分隔,则转成一个列表项。
C-c C-l C-b rst-bullet-list-region,将当前区域转成无序列表。原理同上。
C-u C-c C-l C-e/b 如果以这个作为上面两个命令的前缀,则每行都被转成列表项,而不是以空行分隔。
C-c C-l C-s rst-straighten-bullets-region,重排无序列表,规范下* -的分类符用法,使得看起来更清晰些。
C-c C-l C-i rst-insert-list,插入列表。会提示你要使用的编号,如果是有序列表,你输入起始编号之后,后面你再次按下此快捷键,会自动增加编号值。
C-c C-r C-l rst-line-block-region,把当前区域变成line block.就是每行前面加"|",Line Block请参见官方文档。当时文档中说要移除Line Blocks,只要使用一个前缀参数,但不知道如何调用(C-u不见效)。
M-; comment-dwim,将所选区域变成注释。要移除注释符,使用C-u M-;
C-c C-c C-c rst-compile,最常用的命令,它会调用编译命令进行编译,这个过程中它会检视父目录中的docutils.conf文件(有的话),让后添加到命令行选项中。
C-c C-c C-a rst-compile-alt-toolset,使用备选的工具来编译。这个和上面的命令可以通过设置rst-compile-primary-toolset 和 rst-compile-secondary-toolset来改变。
C-c C-c C-x rst-compile-pseudo-region,将当前区域传到rst2pseudoxml.py,并在新的buffer显示效果
C-c C-c C-p rst-compile-pdf-preview,将当前的文档转成PDF,并在结果上加载一个查看器。
C-c C-c C-s rst-compile-slides-preview,将当前文档转成S5 slides并在Web浏览器上预览。
C-c C-t C-t rst-toc,当文档足够长的时候,直接浏览起来并不是很方便,可以用这个来快速跳转。此快捷键在新的buffer里面产生一个根据Title编排的目录(含缩进),在新buffer上,移动到要跳转的Title上,直接回车或者按f键,跳到对应Title的文档位置;按q退出当前新buffer(切换到后端了);按z则完全关闭新buffer。
C-c C-t C-i rst-toc-insert,在光标所在位置为文档插入TOC(Table of Contents),注意,插入的位置必须是第一个Title之后的位置,在文档最前面插入时不会产生任何TOC内容。这点和帮助说明不一致。
C-c C-t C-u rst-toc-update,更新文档中的现存TOC内容。会自动定位到.. contents::指令后的一插入TOC。
C-c C-t C-j rst-goto-section,当光标地在TOC内容上时,此快捷键能快速定位到对应的Section Title上。

 这个下的reStructuredText模式的快捷键对照表中的内容经过Mitchell的测试,由于第一次用,并成文,可能会有些不太清楚的地方,Mitchell在有疑问的地方已经做出了说明。

Emacs下的这个快捷键并不能提供全面的内容输入帮助,比如在需要输入表格或者插入链接的时候,就是没有快捷键可以使用,而插入链接这是多么常用的一个功能啊,没想明白为啥没有这个快捷键。

TIPS:在表中有删除线的快捷键是不能单独使用的,只是其他快捷键的一个前缀。

 

参考文档:

1. Emacs Support for reStructuredText 本文内容来源.

Saturday, September 06, 2014 | 其他技术

文章评论

No comments posted yet.

发表评论

Please add 3 and 8 and type the answer here:

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。