插入空格直到列

时间:2011-02-10 03:17:23

标签: emacs

我必须输入以下格式......

A          B          C
D          E          F
[]

我使用indent-relative从一列跳到另一列。 但有没有办法跳转到列号?如果是这样,有没有办法在该列之前插入空格?

2 个答案:

答案 0 :(得分:12)

也许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命令后,你可以清理它们。

答案 1 :(得分:4)

您可以将move-to-tab-stop与自定义tab-stop-list变量一起使用来表示您的列。您可以使用 M-x edit-tab-stops RET 以可视方式配置此变量。

你也可以使用 Mx ruler-mode RET Mx ruler-mode-toggle-show-tab-stops RET 查看制表位。

对于跳转多列,move-to-tab-stop不会以前缀arg重复,但如果您定义了一个调用它的键盘宏,则可以使用prefx arg根据需要重复多次:

记录宏:
F3 M-x move-to-tab-stop RET F4

暂时绑定到键:
C-x C-k b (关键)

或者命名并命令Emacs为您提供elisp以放入您的init文件:
C-x C-k n (名称) RET
M-x insert-kbd-macro RET (名称) RET
(global-set-key (kbd "key") 'name)(适用于密钥名称

您可以输入以下任何一个的数字前缀arg:
C-u number(s)
M - number(s)
C - number(s)

e.g。如果你将宏绑定到 Ci 那么 M-4 M-2 Ci 会向前移动四十二个标签停止, Cu 4 2 Ci

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