
Ich habe Emacs für die C-Programmierung verwendet und möchte jetzt etwas Assembler-Code schreiben. Wenn ich die Tabulatortaste drücke, fügt Emacs einfach die Leerzeichen ein. Wie kann ich es zwingen, die aktuelle Zeile mit der Tabulatortaste zu identifizieren?
Antwort1
VersuchenGasmodusanstelle des integrierten ASM-Modus.
Antwort2
Verwenden vonel-patch
:
(el-patch-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)
(el-patch-remove
;; Simple `;' comments go to the comment-column.
(and (looking-at "\\s<\\(\\S<\\|\\'\\)") comment-column))
;; The rest goes at the first tab stop.
(or (indent-next-tab-stop 0))))
(defun my--indent-asm-setup ()
"Set up indentation variables.
Indent with tabs, and make the TAB key behave like it's supposed
to."
(setq-local indent-tabs-mode t)
(setq-local tab-always-indent (default-value 'tab-always-indent)))
(add-hook 'asm-mode-hook #'my--indent-asm-setup)
Antwort3
Lassen Sie es so. Die meisten Editoren haben eine Option, Tabulatoren in Leerzeichen umzuwandeln. Warum sollten Sie wollen, dass der Editor Tabulatoren in Leerzeichen umwandelt? Sie können Ihren Code (entweder als gespeicherte Datei oder in die Zwischenablage kopiert) in jedem Editor verwenden und er wird immer gleich aussehen. Wenn Sie die Verwendung von Tabulatoren erzwingen und ihn hier einfügen oder (wir) ihn in unserem Editor öffnen, wird er höchstwahrscheinlich Mist aussehen, weil wir möglicherweise einen Tabulator auf eine bestimmte Größe eingestellt haben.
Wenn Sie wirklich Tabs statt Leerzeichen verwenden müssen, tun Sie uns einfach einen Gefallen und wandeln Sie die Tabs in Leerzeichen um, bevor Sie hier posten oder es an jemand anderen weitergeben.