Vim неправильно расставляет отступы в ассемблерном коде, независимо от того, хочу ли я, чтобы он делал это автоматически, или если я попытаюсь, gg=G
он просто скажет:## строк с отступомхотя это ничего не изменило и весь мой текст по-прежнему выровнен по левому краю.
решение1
Похоже, Vim не делает отступы в сборке из коробки. Если заглянуть в каталог /usr/share/vim/vim74/indent Vim 7.4.335, то не будет найдено ни одного имени файла, содержащего "asm", и ни , grep -i asm *
ни не grep -i assembl *
вернут никаких совпадений.
Вы можете написать свой плагин отступа. :help indent-expression
Для начала см.
решение2
Может быть vim не распознал тип файла? Попробуйте
:set ft=nasm
а затем выполните команду отступа.
или другие варианты, перечисленные здесьhttps://stackoverflow.com/questions/782384/assembly-vim-syntax-highlighting
решение3
Я знаю, что этот метод не идеален, но он может быть вам полезен:
cp /usr/share/vim/vim74/indent/python.vim ~/.vim/indent/nasm.vim
Он сделает отступ на строке после той, которая заканчивается на :
.
Однако он не отменит отступ при вводе новой метки. Возможно, другой файл синтаксиса справится с этой задачей.
решение4
vim-asm-отступ
Вам может быть интереснов файлекоторый устанавливает отступ после метки и убирает отступ метки.