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

2004
user339365

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

2

3 ответа на вопрос

0
buff

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

:set ft=nasm 

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

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

Это меняет цвета, но `gg = G` все еще не работает. user339365 9 лет назад 1
Я посмотрел на эту ветку, и это не очень помогло. Все, что я получил от этого, было новой цветовой схемой лучше, чем моя обычная. user339365 9 лет назад 1
0
garyjohn

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

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

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

I know this method isn't perfect, but it may be useful to you:

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

It will indent on a line after one that ends with :.

However, it won't unindent when you type a new label. Perhaps another syntax file would do the job.