Мне нравятся некоторые плагины, связанные с vim, и я установил большинство из них как подмодули git (clang_complete, cvim, fugitive, NerdTree, pathogen, snipMate, supertab, taglist) Однако есть две основные функции, которые я не могу заставить работать. то есть
1) Пример -> если я скомпилирую следующий пример
// basic file operations
#include <iostream>
#include <fstream>
using namespace std;
int main () {
ofstream myfile;
myfile.open ("example.txt");
myfile << "Writing this to a file.\n";
myfile.close();
return 0;
}
Я не могу понять, как перейти, например, к функции open, т. Е. «Myfile.open» из std. библиотека. Если я иду и вставляю код в Visual Studio и нажимаю кнопку «Перейти к определению», это приводит меня прямо к этому месту. Я читал, что это можно сделать с помощью ctags, однако я спрашиваю себя, работает ли автозаполнение, т.е. когда я набираю «myfile». Я вижу целую кучу методов, которые мне дает clang, так что я думаю, что это должно быть какой-то другой лучший способ перейти к определению из vim чего-то похожего на (ctrl +]), который должен работать из коробки.
2) В visual studio / .net всякий раз, когда я набираю точку. Я вижу методы, и когда я прокручиваю метод вниз, он дает краткое описание того, что делает этот метод. Есть ли способ включить нечто подобное в vim. Насколько я могу судить, это должно быть свойством библиотеки std, однако я не вижу ничего подобного в std.
Я думаю, вы путаете Vim с IDE.
Вы не может ожидать, что любая функция IDE будет доступна, по крайней мере, без особых усилий, в (очень мощном) Текстовый редактор.
Vim эквивалент «Перейти к декларации», <C-]>
или же :tag foo<cr>
полагается на доступность одного или нескольких tags
создано Обильные-Ctags или какая-нибудь совместимая программа с вашей кодовой базой и любыми стандартными библиотеками. Потому что Vim не приходит с таким tags
файл для (AFAIK) любого языка, вам придется создать один самостоятельно и скажи Вим, где его найти. Там даже программа, hdrtag
специально для этого написано, Я никогда этим не пользовался.
Я думаю, что я видел, что некоторые плагины автозаполнения показывают сигнатуру метода во всплывающем меню, некоторые другие (PHP, Python) открывают небольшое окно «предварительного просмотра». Это так далеко, как вы можете получить. Есть также <C-w>}
если у вас есть актуальный tags
файл.
Снова: Vim не является IDE.
Убедитесь, что ctags может найти исходный код, который находится в библиотеке std, когда вы генерируете индекс, и у вас все должно быть в порядке.
По умолчанию эти инструменты индексирования только добавляют код в текущий каталог (и его подпапки),
поэтому вам нужно вручную сообщить ему, где этот код установлен в вашей системе.