Emacs — Как включить отступ табуляции в Assembly?

Emacs — Как включить отступ табуляции в Assembly?

Я использовал emacs для программирования на C, и теперь, когда я хочу написать код Assmebly, когда я нажимаю tab, emacs просто вставляет пробелы. Как заставить его идентифицировать текущую строку с помощью клавиши Tab?

решение1

Пытатьсягазовый режимвместо встроенного asm-mode.

решение2

С использованиемel-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)

решение3

Оставьте так. Большинство редакторов имеют возможность преобразовывать табуляцию в пробелы. Зачем вам нужно, чтобы редактор преобразовывал табуляцию в пробелы? Вы можете взять свой код (либо в виде сохраненного файла, либо скопированного в буфер обмена) и использовать его в любом редакторе, и он будет выглядеть так же. Если вы принудительно используете табуляцию и вставите ее сюда, или (мы) откроете ее в нашем редакторе, то, скорее всего, она будет выглядеть ужасно, потому что у нас может быть настроена табуляция определенного размера.

Если вам действительно необходимо использовать табуляции вместо пробелов, просто сделайте нам одолжение и замените табуляции на пробелы, прежде чем публиковать здесь или передавать кому-то другому.

Связанный контент