2011-02-10 57 views
9

我有以下格式输入...插入空间,直到

A   B   C 
D   E   F 
[] 

我用缩进相对于跳从一列到另一个。 但是有没有办法跳到列号?如果是这样,有没有办法在该列之前插入空格?

回答

11

也许indent-to-column会为你工作。

indent-to-column is an alias for `indent-to'. 

(indent-to-column COLUMN &optional MINIMUM) 

Indent from point with tabs and spaces until COLUMN is reached. 
Optional second argument MINIMUM says always do at least MINIMUM spaces 
even if that goes past COLUMN; by default, MINIMUM is zero. 

The return value is COLUMN. 

它进入的标签太多,但你可以清理这些,当你正在与untabify命令来完成。

4

您可以使用move-to-tab-stop以及自定义tab-stop-list变量来表示您的列。您可以使用M-xedit-tab-stopsRET以可视方式配置此变量。

您还可以使用M-Xruler-modeRETM-Xruler-mode-toggle-show-tab-stopsRET查看您的制表位。

跳跃多列,move-to-tab-stop不前缀ARG重复,但如果你定义一个键盘宏它调用它,你就可以使用PREFX ARG重复了多次,您需要:

录制宏:
F3的Mxmove-to-tab-stopRETF4

绑定至键暂时:
CXCKb(键)

或名称,并请求Emacs为您提供的elisp在init文件放:
CXCKñ(名)RET
Mxinsert-kbd-macroRET(名)RET
(global-set-key (kbd "key") 'name)(用于适当关键

您可以输入一个数字前缀ARG任何的:
号码
中号 -号码
C-号码

例如如果你已经绑定的宏然后M-4M-2会向前移动42制表位,所以会

indent-tabs-mode变量设置为nil以防止插入标签页。

+0

我已经将它从`tab-to-tab-stop`更改为更合适的`move-to-tab-stop`,它只在需要时插入新的空白区域。 – phils 2011-02-10 08:54:09