Когда я пишу код на C или Java, это очень регулярно, но с Assembly ( asm-mode
) это так дезорганизовано.
Я использую auto-complete
и yasnippet
. Я создал фрагменты и использую их, но организация кода и отступы дезорганизованы.
Какой пакет (ы) поможет мне:
- легко делать отступы для кода и комментариев, чтобы я мог видеть, что делает каждый фрагмент кода;
- перемещаться по этой большой массе кода, чтобы я мог легко переходить между фрагментами кода?
indentation
navigation
Вивиан Майя
источник
источник
asm-mode
должно делать, а что нет? (Какие функции отсутствуют?)asm-mode
ведет себя иначе, чем все остальное) и настройка достойного окружения (прыжок вокруг, завершение кода) является действительным концертом.Ответы:
Просто используйте встроенный
asm-mode
. Это дает вам подсветку синтаксиса для любых языков ассемблера.gas-mode
не делает этого и не может использоваться с синтаксисом AT & T.Если вы хотите установить отступ для
asm-mode
, обратите внимание, что вы не можете использовать,tab-width
но в немtab-stop-list
указаны пробелы, которые могут отображать 1 вкладка, 2 вкладки, 3 вкладки:Приведенный выше пример означает, что первая вкладка имеет 4 пробела, 2-я вкладка (рядом с первой вкладкой) имеет 8 пробелов, 3-я вкладка (рядом со второй вкладкой) имеет 12 пробелов ... и так далее.
Вы также можете создать список следующим образом:
number-sequence
генерирует список чисел с начальным номером2
(первый аргумент) до60
(второй аргумент), каждый номер отличается от2
числа рядом с ним. И не забудьте привязатьnewline-and-indent
к RET, поэтому Emacs автоматически сделает отступ для вас.Если вы хотите прыгать, используйте Ctags вот так:
-e
означает генерировать базу данных тегов, которая будет использоваться Emacs.-R
означает рекурсивное создание тегов для файлов в подкаталогах из корня проекта.После этого вы можете использовать
helm-etags-select
для перехода или другогоetags
клиента в Emacs, если вы не используете Helm.РЕДАКТИРОВАТЬ : Вот пример установки:
Вы также можете получить базовое завершение
company-complete
при нажатииS-TAB
:Вы можете использовать
<tab>
для запуска завершения, потому что оба<tab>
иM-i
запустить ту же команду,tab-to-tab-stop
которая вставляет пробелы или табуляции, зависит от вашего параметраindent-tabs-mode
. Приятно,company-mode
что вы получаете краткое описание выбранного кандидата в минибуфере, если таковой имеется. Например, если у вас есть такое определение:Когда вы перемещаете курсор к
KeyStrokes
кандидату, он печатаетword 0
в минибуфере.источник
Вы можете попробовать газовый режим. Это должно помочь вам с вашей проблемой.
http://www.emacswiki.org/GasMode
источник