Syntastic NASM Checker

Так что я немного поработал в классе ассемблера для колледжа, и я использую Vim в качестве основного редактора кода. У меня проблема с Syntastic, когда я пишу сборку для NASM, но Syntastic хочет только запустить средство проверки ошибок gcc (которое сообщает мне, что весь мой код неверен). Я пытался запустить средство проверки NASM с помощью SyntasticCheck nasm но это не сработало. Я также пытался let g:syntastic_asm_checkers = ['nasm'] в моем.vimrc, но это, похоже, ничего не делает. Как я могу получить Syntastic для запуска проверки NASM здесь?

Как примечание, я проверил это, просто написав что-то вроде mov eax, чтобы получить ошибку из NASM.

4 ответа

Решение

Как уже упоминалось в комментариях выше, получается nasm работает только для файлов с расширением NASM. После переименования моего файла в <file>.nasm Я обнаружил, что vim не обнаруживает автоматически nasm тип файла после запуска set ft?, так что мне придется изменить мой.vimrc для поддержки расширения.

Вам нужно либо

  • заставить ассоциацию между .asm с насм. Просто добавьте это где-нибудь в вашем.vimrc

    autocmd BufNewFile,BufRead *.asm set filetype=nasm
    
  • использовать .nasm расширение. Тогда все будет просто работать.

Я редактировал файл nasm.vim в ~/.vim/bundle/syntastic/syntax_checkers/nasm работать на asm и сохранить отредактированный файл в ~/.vim/bundle/syntastic/syntax_checkers/asm с тем же именем nasm.vim, Сделав это, вы можете положить let g:syntastic_asm_checkers = ['nasm'] в ваш .vimrc конфигурация и все работает просто отлично:)

Вы можете найти отредактированный файл, а также некоторые подробности на https://srv2.mysnet.me/casm/tutorial/vim-configuration.

Ну, я знаю, что это был вопрос нескольких лет, но я надеюсь, что это поможет другим на востоке. (по крайней мере, я сам искал ответ, пока не понял, что настройка файлов может сработать благодаря @netskink:D)

Для чего это стоит, я попытался придурков с файлами:

plugins/syntastic/registry.vim
syntax_checkers/nasm/nasm.vim
syntax_checkers/asm/gcc.vim

Чтобы отключить синтаксис.asm и заменить его синтаксисом nasm, но он не работал. Я мог уйти от ошибок, но не мог заставить раскраску snytax или проверку автоматически работать. Я отменил свои изменения и просто сделаю это вместо этого:

:SyntasticCheck nasm
:set filetype=nasm
:SyntasticCheck nasm

После второй команды syntasticcheck будет включена раскраска синтаксиса и проверка синтаксиса носа. Не уверен, почему это занимает два прохода.

Другие вопросы по тегам