Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与忍者和叮当一起工作时,vim中的快速修复列表++; 我有一个C++项目,我使用NIJA和CLAN+++编译,并且希望在编译过程中出现在Quebug列表中出现错误。目前,当我设置makeprg=ninja,然后运行:make,ninja生成的所有输出都会简单地显示在quickfix窗口中,并且不能用于跳转到相应的文件/行等_C++_Vim_Clang++_Ninja - Fatal编程技术网

与忍者和叮当一起工作时,vim中的快速修复列表++; 我有一个C++项目,我使用NIJA和CLAN+++编译,并且希望在编译过程中出现在Quebug列表中出现错误。目前,当我设置makeprg=ninja,然后运行:make,ninja生成的所有输出都会简单地显示在quickfix窗口中,并且不能用于跳转到相应的文件/行等

与忍者和叮当一起工作时,vim中的快速修复列表++; 我有一个C++项目,我使用NIJA和CLAN+++编译,并且希望在编译过程中出现在Quebug列表中出现错误。目前,当我设置makeprg=ninja,然后运行:make,ninja生成的所有输出都会简单地显示在quickfix窗口中,并且不能用于跳转到相应的文件/行等,c++,vim,clang++,ninja,C++,Vim,Clang++,Ninja,我不是在寻找(我已经在使用)提供的功能,但我还希望看到项目中其他文件的错误,类似于IDE提供的错误 如果忍者不能(轻松地)做到这一点,那么也欢迎使用make解决方案(项目使用cmake,因此两者都是可能的),但如果可能的话,我想继续使用忍者 ninja生成的所有输出只会出现在quickfix窗口中,不能用于跳转 这听起来好像Vim无法从错误中解析位置信息,因为没有设置相应的'errorformat' 四处搜索,也许有人已经写了这样的东西。否则,您需要编写自己的编译器插件,然后使用:compile

我不是在寻找(我已经在使用)提供的功能,但我还希望看到项目中其他文件的错误,类似于IDE提供的错误

如果忍者不能(轻松地)做到这一点,那么也欢迎使用make解决方案(项目使用cmake,因此两者都是可能的),但如果可能的话,我想继续使用忍者

ninja生成的所有输出只会出现在quickfix窗口中,不能用于跳转

这听起来好像Vim无法从错误中解析位置信息,因为没有设置相应的
'errorformat'


四处搜索,也许有人已经写了这样的东西。否则,您需要编写自己的编译器插件,然后使用
:compiler ninja
而不是
:set makeprg=ninja
。请参阅
:帮助编写编译器插件

CMake+Ninja使用相对路径。这是Vim中的一个问题。Vim使用一种算法来尝试猜测引发错误的文件的位置。您可以在
:h quickfix目录堆栈
中找到后者的说明。 另外,请看这里:。
CMake的人意识到了这一点,并且有一个悬而未决的问题。

是的,这看起来是一个起点。但是我对使用忍者作为我的编译器犹豫不决,因为它只是make程序,
clang++
才是真正的编译器。但是,查看
编译器/gcc.vim
文件,它似乎还使用了一个
errorformat
定制的
make
输出。