Ошибка отображения ключа Vim
У меня проблема с использованием omnicppcomplete с VIM. На самом деле, я не уверен, если это проблема.vimrc или неполная неполная проблема. В моем.vimrc у меня есть эта команда для генерации тегов для моего проекта, когда я нажимаю Ctrl+F12:
map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
Но это не с этой ошибкой:
ctags: Unknown option: --c++-n
shell returned 1
Это кажется мне очень странным, потому что я не использую в команде параметр --C++-n. Что еще более странно для меня, это то, что если я просто запускаю команду вручную в моем терминале
ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q
Он генерирует файл тегов, и все, кажется, работает просто отлично. Так что кое-что о сопоставлении этого с ключом портит это. Я следовал инструкциям в вики здесь: http://vim.wikia.com/wiki/C%2B%2B_code_completion.
Меня больше всего смущает, почему он жалуется на --C++-n, когда я этим не пользуюсь. Буду признателен за любую оказанную помощь.
РЕДАКТИРОВАТЬ:
И ":! Какие ctags" в vim и "Какие ctags" в оболочке возвращают "/usr/bin/ctags". Однако, когда я делаю "ls /usr/bin | grep ctags", он возвращает и "ctags", и "ctags-exuberant".
Я удалил и переустановил ctags-exuberant. Теперь, когда я пытаюсь нажать c-F12 в vim, он не выдает ошибку в команде... он возвращает меня к оболочке, чтобы нажать Enter, чтобы продолжить, но в коде, когда я нажимаю точку после объект, он по-прежнему говорит "шаблон не найден".
Однако, если я сделаю небольшой тестовый файл, подобный этому, в отдельной директории:
struct MyStruct {
int a;
int b;
int long_name;
};
int main(int argc, char** argv) {
MyStruct a;
a.
}
Нажмите c-F12, чтобы создать список тегов, автозаполнение работает просто отлично... Я хочу, чтобы оно работало, если у меня есть класс, определенный в другом файле (хотя все еще в том же каталоге).
2 ответа
Проблема не в раскладке клавиш. Если я скопирую вашу карту на мой .vimrc
и нажмите Ctrl-F12 в gvim, это повторяет команду, которую он выполняет, и это в точности команда сверху.
Может быть, когда в VIM, ctags
другой файл / исполняемый файл для вас? Что значит :!which ctags
скажи в vim и что делает which ctags
скажем из скорлупы?