init.el에 아래 함수를 추가하여 asm-calculate-indentation을 재정의 할 수 있습니다. "테스트 드라이브"기능을 사용하려면 스크래치 버퍼에 붙여 넣기하고 eval로 저장 한 다음 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))
이것은 그 라인을 직접 ;;; 아래에 있도록 할 것 자동 들여 쓰기가되지 않습니다. 눈치 챘을 지 모르겠지만 정의를 그대로두면 라고 입력하면 다음 주석을 넣을 수 있다고 생각합니다. 레이블이 자동으로 왼쪽으로 들여 쓰고 레이블 아래의 모든 문자가 들여 쓰기됩니다 자동 들여 쓰기. 나는 이것들이 지시어들 또는 머리말 논평을 언급하기 위해 짜증나게 될 것 인 곳을 볼 수있다.
잘 모르겠지만 asm-mode.el 파일을 편집하거나 .asm이 아닌 파일을 편집하기위한 onw 규칙을 만들어야한다고 생각합니다. emacs-lisp 언어로 작성되어야합니다. NASM의 구문 규칙을 구현하기위한이 구현을 확인하십시오. (어떻게 할 지 생각해보십시오) http://matthieuhauglustaine.blogspot.com.br/2011/08/nasm-mode-for-emacs.html'nasm-mode .el' 및/또는'asm-mode.el'을 사용하면 사용중인 어셈블리 버전을 구현하기에 충분합니다. 죄송합니다. 정확한 답변이 아닙니다. (내가 의견으로 게시하는 이유입니다.)하지만 도와 드리겠습니다. – Jack