我的问题标题是对sane tabs in emacs的引用。
基本上我想要的是全局设置标签和缩进 一些统一的方式。我觉得emacs比TextMate好多了 或BBEdit,但他们处理压缩的方式非常简单而且很棒 为了我的目的。在emacs中,如果你使用一些选项卡/空间方案 与你使用的小模式强制执行的方案不同 麻烦。
当我按回车键时,我想移动到下一行缩进 使用标签的正确位置。如果我可以吃蛋糕也可以吃它 喜欢在组成文件的其余部分时使用空格缩进 那样。
我也试过这些:
doing tabs in emacs
force emacs to use tabs
感谢任何可以帮助我实现这一目标的人。
-Mike
答案 0 :(得分:4)
也许(global-set-key (kbd "RET") 'newline-and-indent)
是你想要的?
(或reindent-then-newline-and-indent
如果可用,或者您只需点击C-j
而不是Enter键。)
答案 1 :(得分:2)
对于这部分问题:
如果我可以吃我的蛋糕并且也可以吃它,我希望在剩下的时间里使用空格缩进 文件以这种方式组成。
这样做你想要的吗?
(defun dtrt-indent ()
(setq indent-tabs-mode
(save-excursion
(goto-char (point-min))
(search-forward "\t" nil t))))
(add-hook 'text-mode-hook #'dtrt-indent)
(add-hook 'c-mode-hook #'dtrt-indent)
; etc for all modes you care about
因此,如果缓冲区中有任何选项卡,请使用制表符缩进;如果没有制表符,则使用空格缩进。
答案 2 :(得分:0)
如果你按照描述进行设置:
(setq indent-tabs-mode t)
(setq-default indent-tabs-mode t)
(setq tab-width 4) ;; 8 is way too many
(setq default-tab-width 4) ;; 8 is way too many
(global-set-key (kbd "RET") 'newline-and-indent)
indent-tabs-mode
事件将通过使用TABS和SPACES来组成所需的缩进(由单个模式定义),告诉emacs创建缩进。这意味着,如果您想要插入TAB而不是TABS / SPACES,则需要将模式配置为使用tab-width
作为缩进。
例如,如果您使用c-mode
并选择cc-mode
作为缩进样式(使用C-c .
选择),使用4作为缩进值,newline-and-indent
将插入空格。
总结:
tab-width
作为缩进indent-tabs-mode
(python-mode
似乎这样做了)虽然我个人不喜欢TABS在你的旅途中好运:))
答案 3 :(得分:0)
最好的策略是说服您选择的编程模式 以你喜欢的方式缩进事物。这通常很容易;我是 关于缩进的挑剔和我的emacs总是做正确的事情 自动。 (这意味着“缩进区域”也总是如此 我想要什么,这很方便。)