Vim форматирование сборки


2

Vim неправильно делает отступ для ассемблерного кода, независимо от того, хочу ли я, чтобы он делал это автоматически, или если я пытаюсь gg=G это просто говорит ## строки с отступом хотя это ничего не изменило, и весь мой текст по-прежнему выровнен по левому краю.

Ответы:


0

Может быть, Vim не распознал тип файла? Пытаться

:set ft=nasm

а затем выполните команду отступа.

или другие варианты, перечисленные здесь https://stackoverflow.com/questions/782384/assembly-vim-syntax-highlighting


1
Это меняет цвета, но gg=G все еще не работает.
user339365

1
Я посмотрел на эту ветку, и это было не очень полезно. Все, что я получил от этого, было новой цветовой схемой лучше, чем моя обычная.
user339365

0

Похоже, что Vim не делает отступ сборки из коробки. В каталоге / usr / share / vim / vim74 / indent каталога Vim 7.4.335 нет имен файлов, содержащих «asm», и нет grep -i asm * ни grep -i assembl * вернуть любые совпадения.

Вы можете написать свой собственный плагин отступа. Увидеть :help indent-expression для начала.


Написание собственного плагина кажется сложной задачей, но это дало бы мне некоторый программный кредит, и я мог бы открыть его. Это тот тип вещей, который также может пойти на резюме, правильно, если бы я хотел? РЕДАКТИРОВАТЬ Это было глупо, что-то вроде этого в резюме кажется мне очень глупым. Оглядываясь назад, я мог бы опубликовать это, и это ... помогло бы сообществу, верно? Могу ли я тогда сказать, что я участвую в разработке программного обеспечения с открытым исходным кодом?
user339365

0

Я знаю, что этот метод не идеален, но он может быть полезен для вас:

cp /usr/share/vim/vim74/indent/python.vim ~/.vim/indent/nasm.vim

Он будет отступать в строке после строки, которая заканчивается :,

Тем не менее, он не будет отступать при вводе новой метки. Возможно, другой файл синтаксиса сделает эту работу.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.