Syntastic NASM Checker

时间:2015-09-25 00:54:06

标签: vim syntastic

所以我在大学课堂上做了一些工作,我使用Vim作为我的主要代码编辑器。我在使用Syntastic时出现问题,我正在为NASM编写程序集,但Syntastic只想运行gcc错误检查程序(它告诉我所有代码都错误)。我尝试使用SyntasticCheck nasm显式运行NASM检查程序,但这似乎不起作用。我还尝试在{.vimrc中let g:syntastic_asm_checkers = ['nasm'],但似乎没有做任何事情。如何让Syntastic在这里运行NASM检查器?

作为一个注释,我通过写mov eax,之类的东西来测试这个,以便从NASM中获取错误。

4 个答案:

答案 0 :(得分:1)

你需要

  • 强制.asm与nasm之间的关联。只需在.vimrc

    中添加它
    autocmd BufNewFile,BufRead *.asm set filetype=nasm
    
  • 使用.nasm扩展名。然后一切都会起作用。

答案 1 :(得分:0)

我在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才能对文件进行调整)

答案 2 :(得分:-1)

正如上面的评论所述,事实证明nasm仅适用于具有nasm文件扩展名的文件。将文件重命名为<file>.nasm后,我发现运行nasm后vim不会自动检测set ft?文件类型,因此我必须修改.vimrc以支持扩展名。< / p>

答案 3 :(得分:-1)

为了它的价值,我试图用文件来捣蛋:

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命令之后,它将启用语法着色和nasm语法检查。不知道为什么需要两次通过。