所以我在大学课堂上做了一些工作,我使用Vim作为我的主要代码编辑器。我在使用Syntastic时出现问题,我正在为NASM编写程序集,但Syntastic只想运行gcc错误检查程序(它告诉我所有代码都错误)。我尝试使用SyntasticCheck nasm
显式运行NASM检查程序,但这似乎不起作用。我还尝试在{.vimrc中let g:syntastic_asm_checkers = ['nasm']
,但似乎没有做任何事情。如何让Syntastic在这里运行NASM检查器?
作为一个注释,我通过写mov eax,
之类的东西来测试这个,以便从NASM中获取错误。
答案 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语法检查。不知道为什么需要两次通过。