在我自己的C / C ++编码中,我更喜欢使用2空格缩进,但是当我与其他人合作时,我会受到需要3空格缩进的样式指南的限制。在我的.emacs文件中(粘贴在下面)我使用自定义设置变量将其设置为2,我可以在运行.emacs时更改它:
M-x customize-set-variable
Set variable: c-basic-offset
[integer] [radio] Set customized value for c-basic-offset to: 3
(除了为什么自定义 ize -set-variable而不是custom-set-variable s ?此外,它只能每隔一段时间工作;第一次我这样做,在我输入'c-basic-offset'之后就完成了(并且c-basic-offset设置为1)。下次我这样做时,会提示我设置它的值是什么 - 什么是那个?)
所以我可以解决这个问题,但那是打字很多,而且我不想记住它。
我曾经搜索过如何将F5设置为M-x恢复缓冲区;我需要将什么内容放入我的.emacs文件中,以便我可以让F2和F3键将c-basic-offset更改为2和3,因为该操作不是简单的无参数emacs元命令?
仅供参考,我想这是我目前在.emacs文件中的相关部分:
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(c-basic-offset 2)
'(fill-column 80)
'(global-auto-revert-mode t)
'(indent-tabs-mode nil)
'(inhibit-startup-screen t)
'(initial-buffer-choice nil)
'(initial-scratch-message nil))
(global-set-key [f5] 'revert-buffer)
答案 0 :(得分:2)
我需要将哪些内容放入我的.emacs文件中,以便我可以使用F2和F3 键将c-basic-offset更改为2和3,因为操作不是a 简单的无参数emacs元命令?
(defun set-offset-2 ()
(interactive)
(setq-default c-basic-offset 2))
(defun set-offset-3 ()
(interactive)
(setq-default c-basic-offset 3))
(global-set-key [f2] 'set-offset-2)
(global-set-key [f3] 'set-offset-3)
除了为什么自定义 ize -set-variable而不是 定制设定变量的取值强>
调用customize-set-variable
会提示用户更改一个变量,然后更新.emacs
顶部的列表。 custom-set-variables
获取该列表并应用所有这些变量。
此外,它只能每隔一段时间工作;我第一次这样做,在我之后 输入&c-basic-offset'它刚刚完成(并且c-basic-offset设置为 1)。下次我这样做时,它会提示我设置它的值 - 那是什么?)
奇怪的是我得到了同样的错误。不知道该怎么做。
我个人不会使用customize-set-variable
。相反,我明确地调用setq-default
函数。例如,以下内容等同于您之前发布的内容:
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(setq-default c-basic-offset 2)
(setq-default fill-column 80)
(setq-default global-auto-revert-mode t)
(setq-default indent-tabs-mode nil)
(setq-default inhibit-startup-screen t)
(setq-default initial-buffer-choice nil)
(setq-default initial-scratch-message nil)
如果您想应用这些更改,只需将光标放在括号的末尾:
(setq-default c-basic-offset 2)█
然后输入C-x C-e
。