Ошибка отображения ключа 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 ответа

Решение

Я переустановил exuberant ctags, и проблема была решена.

Проблема не в раскладке клавиш. Если я скопирую вашу карту на мой .vimrc и нажмите Ctrl-F12 в gvim, это повторяет команду, которую он выполняет, и это в точности команда сверху.

Может быть, когда в VIM, ctags другой файл / исполняемый файл для вас? Что значит :!which ctags скажи в vim и что делает which ctags скажем из скорлупы?

Другие вопросы по тегам