我喜欢Emacs,但不喜欢它是如何缩进的:要么是无法控制的标签和空格组合,要么只是空格( (setq indent-tabs-mode nil)
) .
我希望Emacs做缩进:
-
仅使用标签 .
-
缩进到固定数量的地方(有时不是6个,其他8个,其他地方有4个) .
-
能够将一个级别的缩进设置为等于4(或2)个空格 .
-
如果我更改制表位的值,则所有新打开或重新加载的文件都应使用新值(或者只有重新启动Emacs才会影响此更改?)
以上所有都可能吗? .emacs
或包中的一些设置?
大多数IDE(例如Eclipse)都提供上述功能 .
3 回答
smart tabs会在上下文中插入制表符和空格 .
就个人而言,我只使用空格进行缩进和对齐(至少对我自己的项目而言) . Here是关于emacswiki的另一篇文章,我发现这个主题非常有用
对于C / C / Java,您可以尝试在模式挂钩中添加相同的tab-width,indent-level和c-basic-offet:
这使得当你处于cc模式时,标签和缩进是相同的,因此emacs将始终选择空格上的标签 . 另见Indenting C
tab-width
可以在其他地方设置,您可以将其与缩进长度变量(如python's python-indent)一起应用于其他模式 .编辑:
实际上,看起来像kindahero的链接几乎是这样的:http://www.emacswiki.org/SmartTabs
我使用标签进行缩进 . 但是当其他人使用不同的编辑器时,他们可以看到缩进消失了 . 因此,您可以选择使用制表符缩进的代码段并运行“M-x untabify” . 这将使用空格替换选项卡,因此第一个所述问题将不适用于使用不同编辑器的用户 .