Vim键映射错误
我在使用OmniCPP和vim时遇到问题。实际上,我不确定这是一个.vimrc问题还是一个完整的问题。在my.vimrc中,当我点击ctrl+F12时,我有以下命令为我的项目生成标记:Vim键映射错误,vim,keymapping,omnicppcomplete,Vim,Keymapping,Omnicppcomplete,我在使用OmniCPP和vim时遇到问题。实际上,我不确定这是一个.vimrc问题还是一个完整的问题。在my.vimrc中,当我点击ctrl+F12时,我有以下命令为我的项目生成标记: map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR> 这对我来说似乎很奇怪,因为我没有在命令中使用--c++-n选项。更奇怪的是,如果我只是在终端上手动运行命令 ctags -R -
map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
这对我来说似乎很奇怪,因为我没有在命令中使用--c++-n选项。更奇怪的是,如果我只是在终端上手动运行命令
ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q
它生成了一个标记文件,一切看起来都很正常。所以把它映射到一个键会把它搞砸。我在这里按照维基上的说明操作:
我最困惑的是,当我不使用--c++-n时,为什么它会抱怨--c++-n。非常感谢您的帮助
编辑:
两者都有:vim中的“!哪个CTAG”和shell返回中的“哪个CTAG”/usr/bin/ctags。然而,当我执行“ls/usr/bin | grep-ctags”时,它会返回“ctags”和“ctags-exuberant”
我移除并重新安装了ctags exuberant。现在,当我尝试在vim中点击c-F12时,它不会在命令上给我一个错误…它会将我带回shell,点击Enter继续,但在代码中,当我点击对象后的句点时,它仍然显示“Pattern not found”
但是,如果我在一个单独的目录中创建一个像这样的小测试文件:
struct MyStruct {
int a;
int b;
int long_name;
};
int main(int argc, char** argv) {
MyStruct a;
a.
}
点击c-F12来构建标记列表,自动完成功能可以正常工作……如果我有一个在另一个文件中定义的类(尽管仍然在同一个目录中),我希望它能够工作 问题不在于关键映射。如果我将您的映射行复制到my
.vimrc
,并在gvim中点击ctrl-f12,它会回显它运行的命令,而这正是上面的命令
是否在vim中,
ctags
是您的另一个文件/可执行文件?什么是:!vim中哪些CTAG
表示,哪些CTAG表示来自shell?问题不在于关键映射。如果我将您的映射行复制到my.vimrc
,并在gvim中点击ctrl-f12,它会回显它运行的命令,而这正是上面的命令
是否在vim中,
ctags
是您的另一个文件/可执行文件?什么是:!vim中哪个CTAG
说了什么?shell中哪个CTAG说了什么?我重新安装了exuberant CTAG,问题得到了解决。我重新安装了exuberant CTAG,问题得到了解决。我猜应该是exuberant CTAG和普通ctags,谢谢您的反馈。我根据你的提问更新了我的答案。我猜ctags和普通ctags会很好。谢谢你的反馈。我根据你的问题更新了我的答案。
struct MyStruct {
int a;
int b;
int long_name;
};
int main(int argc, char** argv) {
MyStruct a;
a.
}