我想使用emacs来起草和编辑汇编代码,我可以将其插入到Microchip MPLAB IDE中用于PIC项目。如果我使用.asm作为文件扩展名,当我在第一列中使用分号开始注释行时,我会得到一个有趣的效果 - 下一行总是缩进。我怎么能避免这个?我有“gas”作为.asm文件的主要模式来尝试这样做,但它没有效果。
也许真正的问题是我不理解这些模式如何运作的描述。
答案 0 :(得分:0)
您可以通过将以下函数放在init.el中来重新定义asm-calculate-indentation。要“试驾”该功能,您可以将其粘贴到 scratch 缓冲区中,对其进行评估,然后在asm文件中执行一些编辑,看看这是否是您想要的。
(defun asm-calculate-indentation ()
(or
;; Flush labels to the left margin.
(and (looking-at "\\(\\sw\\|\\s_\\)+:") 0)
;; Same thing for `;;;' comments.
(and (looking-at "\\s<\\s<\\s<") 0)
;; Simple `;' comments go to the comment-column.
(and (looking-at "\\s<\\(\\S<\\|\\'\\)") comment-column)
;; Do not indent after ';;;' comments.
(and (progn
(previous-line)
(beginning-of-line)
(looking-at "\\s<\\s<\\s<")) 0)
;;The rest goes at the first tab stop.
(or (car tab-stop-list) tab-width))
这将使它直接位于;;;不会自动缩进。 我不知道你是否注意到了,但是如果你留下定义那么下一个 当你输入时,你认为你在评论下面是一个标签:标签将自动 向左缩进,标签下方的所有内容自动缩进。我可以看到这对于评论指令或标题注释来说会很烦人。