emacs 中的制表符和空格完全清晰吗?
我的问题的标题是对 emacs 中的正常选项卡的引用。
基本上我想要的是全局设置制表符和缩进以进行工作 某种统一的方式。 我感觉 emacs 比 TextMate 好多了 或 BBEdit 但实际上他们处理缩进的方式既简单又很棒 为了我的目的。 在 emacs 中,如果你使用一些制表符/空格方案 与您使用的次要模式强制执行的方案不同 麻烦。
当我按 Enter 键时,我想移动到缩进的下一行 使用选项卡的正确位置。 如果我能鱼与熊掌兼得,我会的 如果文件的其余部分已组成,则喜欢使用空格缩进 那样。
我也尝试过这些:
在 emacs 中执行选项卡
强制 emacs 使用选项卡
感谢任何可以帮助我实现这一目标的人。
-麦克风
The title of my question is a reference to sane tabs in emacs.
Basically what I want is to globally set tabs and indention to work in
some uniform way. I feel like emacs is so much better than TextMate
or BBEdit but really the way they handle indention is simple and great
for my purposes. In emacs if you use some tab/space scheme that's
different than the scheme enforced by a minor mode you use you're in
trouble.
When I press enter I'd like to be moved to the next line indented to
the right place using tabs. If I can have my cake and eat it too I'd
like to be indented using spaces if the rest of the file is composed
that way.
I've tried these also:
doing tabs in emacs
force emacs to use tabs
Thanks to anyone who can help me achieve this.
-Mike
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
也许
(global-set-key (kbd "RET") 'newline-and-indent)
是您想要的?(或者
reindent-then-newline-and-indent
(如果可用的话),或者您只需按Cj
而不是Enter键。)Perhaps
(global-set-key (kbd "RET") 'newline-and-indent)
is what you want?(Or
reindent-then-newline-and-indent
if that's available, or you could just hitC-j
instead of the Enter key.)对于你的问题的这一部分:
这是你想要的吗?
因此,如果缓冲区中的任何位置有制表符,请使用制表符缩进; 如果没有制表符,则使用空格缩进。
For this part of your question:
does this do what you want?
So if there's a tab anywhere in the buffer, indent using tabs; if there is no tab, indent using spaces.
如果您按照描述进行设置:
indent-tabs-mode
会告诉 emacs 通过使用 TABS 和 SPACES 来创建所需的缩进(由单独的模式定义)。 这意味着,如果您想插入 TAB 而不是 TABS/空格,则需要将模式配置为使用tab-width
作为缩进。例如,如果您使用
c-mode
并选择cc-mode
作为缩进样式(使用Cc .
选择),它使用 4 作为缩进值,newline-and-indent
将插入空格。结论:
tab-width
作为缩进indent-tabs-mode
(python-mode 似乎是这样做的)
虽然我个人不喜欢 TABS 祝你旅途顺利:)
if you do your setup as described:
The
indent-tabs-mode
thing will tell emacs to create your indentation by using TABS and SPACES to make up the desired indentation (defined by the individual mode). This means, if you want to have a TAB inserted instead of TABS/SPACES you need to configure your mode to usetab-width
as indentation.For example if you use
c-mode
and selectcc-mode
as indentation style (select withC-c .
) which uses 4 as indentation value,newline-and-indent
will insert spaces.To conclude:
tab-width
as indentationindent-tabs-mode
(python-mode
seems to do this)Although I personally don't like TABS good luck on your journey :)
最好的策略是说服您选择的编程模式
按照您喜欢的方式缩进内容。 这通常很容易; 我是
对缩进很挑剔,我的 emacs 总是做正确的事情
自动地。 (这意味着“缩进区域”也总是
我想要什么,非常方便。)
The best strategy is to convince your programming mode of choice to
indent things the way you like. This is generally very easy; I am
picky about indentation and my emacs always does the right thing
automatically. (That means that "indent-region" also always does
what I want, which is very convenient.)