在Emacs配置中肯定会有一些关于缩进的内容。
以下是我要缩进的一些JavaScript代码:
$(function(){
$.superbox.settings = {
closeTxt: "",
loadTxt: "",
[...]
如果我执行了M-q
(即paredit-reindent-defun
),这就是我所得到的:
$(function(){
$.superbox.settings = {
closeTxt: "",
loadTxt: "",
如何配置Emacs以遵循更传统的缩进?在这个特殊情况下,我希望closeTxt
一个缩进(例如四个空格)进一步$.superbox
声明上面的一行......
P.S。我使用emacs-starter-kit(https://github.com/technomancy/emacs-starter-kit)。
答案 0 :(得分:2)
paredit
非常适合除Lisp编辑之外的任何其他内容。我会使用它缩进JavaScript代码。您应该尝试使用标准JavaScript缩进defuns。从starter-kit-js.el
中删除以下行,重新启动Emacs并重试:
(add-hook 'espresso-mode-hook 'esk-paredit-nonlisp)
(eval-after-load 'espresso
'(progn (define-key espresso-mode-map "{" 'paredit-open-curly)
(define-key espresso-mode-map "}" 'paredit-close-curly-and-newline)
;; fixes problem with pretty function font-lock
(define-key espresso-mode-map (kbd ",") 'self-insert-command)
(font-lock-add-keywords
'espresso-mode `(("\\(function *\\)("
(0 (progn (compose-region (match-beginning 1)
(match-end 1) "ƒ")
nil)))))))