如何修复Emacs sass模式中的奇怪缩进行为

如何修复Emacs sass模式中的奇怪缩进行为,emacs,sass,Emacs,Sass,这个问题()已经解释了我想说的,请看一下。有没有办法解决它 当我点击backspace时,比如在c-j之后,它总是指向1 更深一层而不是同一层,除了 提供消息“标记集”的控制缓冲区。当我检查时,我看到它是 绑定到haml电子退格。因此,我能创造的只有两种方式 创建新行并将光标移动到与 最后一行是ret tab tab或c-j,后跟c-b c-b或tab tab。我 认为c-j应该默认为相同的级别,并且退格应该是相同的 具有默认的emacs行为 完成后,呼叫RET,而不是C-j 退格将降低级别 一

这个问题()已经解释了我想说的,请看一下。有没有办法解决它

当我点击backspace时,比如在c-j之后,它总是指向1 更深一层而不是同一层,除了 提供消息“标记集”的控制缓冲区。当我检查时,我看到它是 绑定到haml电子退格。因此,我能创造的只有两种方式 创建新行并将光标移动到与 最后一行是ret tab tab或c-j,后跟c-b c-b或tab tab。我 认为c-j应该默认为相同的级别,并且退格应该是相同的 具有默认的emacs行为


完成后,呼叫RET,而不是C-j

退格将降低级别


一切正常AFAIS,无错误完成后,请致电RET,而不是C-j

退格将降低级别


一切正常AFAIS,没有bug

我在sass模式下发现了一堆bug

下面是我在.emacs中保存的一些代码,可能会有所帮助:

(defconst sass-line-keywords
  '(("@\\(\\w+\\)"    0 font-lock-keyword-face sass-highlight-directive)
("/[/*].*"  0 font-lock-comment-face)
("[=+]\\w+" 0 font-lock-variable-name-face sass-highlight-script-after-match)
("!\\w+"    0 font-lock-variable-name-face sass-highlight-script-after-match)
(":\\w+"    0 font-lock-variable-name-face)
("\\w+\s*:" 0 font-lock-variable-name-face)
("\\(\\w+\\)\s*="  1 font-lock-variable-name-face sass-highlight-script-after-match)
("\\(:\\w+\\)\s*=" 1 font-lock-variable-name-face sass-highlight-script-after-match)
(".*"      sass-highlight-selector)))

(defconst sass-selector-font-lock-keywords
  '( ;; Attribute selectors (e.g. p[foo=bar])
("\\[\\([^]=]+\\)" (1 font-lock-variable-name-face)
 ("[~|$^*]?=\\([^]=]+\\)" nil nil (1 font-lock-string-face)))
("&"       0 font-lock-constant-face)
("\\.\\w+" 0 font-lock-type-face)
("#\\w+"   0 font-lock-keyword-face)
;; Pseudo-selectors, optionally with arguments (e.g. :first, :nth-child(12))
("\\(::?\\w+\\)" (1 font-lock-variable-name-face)
 ("(\\([^)]+\\))" nil nil (1 font-lock-string-face)))))
(defconst sass-non-block-openers
  '("^.*,$" ;; Continued selectors
"^ *@\\(extend\\|debug\\|warn\\|include\\|import\\)" ;; Single-line mixins
"^ *[$!]"     ;; Variables
".*[^\s-]+: [^\s-]" ;; a setting of some sort
))

我认为问题尤其在于sass非阻塞开启器。很抱歉,我只是在你身上丢了一些密码。希望这能有所帮助。

我在sass模式中发现了一堆bug

下面是我在.emacs中保存的一些代码,可能会有所帮助:

(defconst sass-line-keywords
  '(("@\\(\\w+\\)"    0 font-lock-keyword-face sass-highlight-directive)
("/[/*].*"  0 font-lock-comment-face)
("[=+]\\w+" 0 font-lock-variable-name-face sass-highlight-script-after-match)
("!\\w+"    0 font-lock-variable-name-face sass-highlight-script-after-match)
(":\\w+"    0 font-lock-variable-name-face)
("\\w+\s*:" 0 font-lock-variable-name-face)
("\\(\\w+\\)\s*="  1 font-lock-variable-name-face sass-highlight-script-after-match)
("\\(:\\w+\\)\s*=" 1 font-lock-variable-name-face sass-highlight-script-after-match)
(".*"      sass-highlight-selector)))

(defconst sass-selector-font-lock-keywords
  '( ;; Attribute selectors (e.g. p[foo=bar])
("\\[\\([^]=]+\\)" (1 font-lock-variable-name-face)
 ("[~|$^*]?=\\([^]=]+\\)" nil nil (1 font-lock-string-face)))
("&"       0 font-lock-constant-face)
("\\.\\w+" 0 font-lock-type-face)
("#\\w+"   0 font-lock-keyword-face)
;; Pseudo-selectors, optionally with arguments (e.g. :first, :nth-child(12))
("\\(::?\\w+\\)" (1 font-lock-variable-name-face)
 ("(\\([^)]+\\))" nil nil (1 font-lock-string-face)))))
(defconst sass-non-block-openers
  '("^.*,$" ;; Continued selectors
"^ *@\\(extend\\|debug\\|warn\\|include\\|import\\)" ;; Single-line mixins
"^ *[$!]"     ;; Variables
".*[^\s-]+: [^\s-]" ;; a setting of some sort
))

我认为问题尤其在于sass非阻塞开启器。很抱歉,我只是在你身上丢了一些密码。希望这能有所帮助。

请提供更多细节并提出一个实际问题,想想链接腐烂。哦@puppybeard,非常感谢你的友好工作。请提供更多细节并提出一个实际问题,想想链接腐烂。哦@puppybeard,非常感谢你的友好工作。我不明白你怎么会这样。我安装了Emacs23.3和24.1,使用sass模式(需要haml模式,都是由el-get安装的),并且没有其他第三方模式,但我总是得到不好的结果。我不明白你怎么会得到这样的结果。我安装了emacs 23.3和24.1,使用sass模式(需要haml模式,均由el-get安装),并且没有其他第三方模式,但我总是得到不好的结果。我完全不知道这两种模式的作用是什么,但是将其置于emacs配置sass模式后,现在可以正确缩进。谢谢我完全不知道这其中有什么作用,但是把它放在我的emacs-config-sass模式下,现在可以正确缩进了。谢谢