Запуск различных задач разработки c или cpp из vi «как запуск программы cpp без выхода из vi». [Закрыто]

0

У меня есть некоторые вопросы относительно использования VI во время работы с программами c или cpp, это может послужить быстрой ссылкой на людей, которые впервые приходят в vi.

  1. Как запускать программы CPP с помощью vi, не выходя из нее.
  2. Как получить иерархию типов в vi
  3. Как получить иерархию вызовов в vi
  4. Как реорганизовать код в vi, чтобы он не только рефакторировал текущий файл, но и все другие зависимые файлы.
  5. Как открыть объявление метода, определенного в другом файле cpp, из того места, где оно используется.
  6. Как искать в разных файлах для какого-либо ключевого слова без выхода из vi.
  7. Как поддерживать отступы программ в vi.

Заранее спасибо.

  • 0
    Пожалуйста, задавайте отдельные вопросы для них, так как они совершенно не связаны.
  • 0
    vi представляет собой текстовый редактор, а не IDE
Показать ещё 5 комментариев
Теги:
vi

3 ответа

1

отказ от ответственности - я не пользователь vi (m), а я использую emacs.

Я подозреваю, что большая часть того, что вы хотите, недоступна при установке vi (m) по умолчанию, однако некоторые функции можно получить с помощью дополнительных программ:

для вашего вопроса 3 (и, возможно, 5 и 6) cscope может предоставить то, что вы ищете. См. Эту ссылку

для вашего вопроса 4 см. этот поток переполнения стека.

для ваших вопросов 5 (и, возможно, 6), ctags могут предоставить то, что вы ищете. См. Эту ссылку.

Я столкнулся с некоторыми из тех же проблем с использованием emacs и запустил интеграцию подобных сторонних программ в emacs, таким образом, мои несколько ограниченные знания по этой теме. Надеюсь, что эти указатели помогут.

  • 0
    Спасибо user2669128
0

Все вопросы, сложенные вместе, вызывают проблему. С точки зрения людей (начиная с Билла Джой, оригинального автора vi), который создал Unix и vi, приглашение оболочки представляет собой всю среду разработки. vi - это только часть редактора. make - это строитель проекта. Файловая система вместе с ls, find, grep и множеством других инструментов обеспечивает группировку файлов и организационные инструменты.

Вот почему vi имеет богатый набор параметров командной строки, которые позволяют вам указывать несколько файлов для открытия и где в каждом файле расположить курсор. Наряду с инструментом ctags вы можете даже попросить vi открыть файл с именованной функцией без ввода имени файла.

vi вы всегда можете использовать ! команда для работы с текстом с использованием произвольной программы. !fmt - быстрый и грязный способ сделать, например, завернутый текст. И, конечно же, команда : - ваш шлюз в удивительно опасную силу редактирования на основе CLI.

В основе всего этого - требование, чтобы вы действительно понимали команды, которые перемещают курсор и описывают диапазон текста. Первый шаг - заметить каждый раз, когда вы обнаруживаете, что повторяете команду (как простая команда движения "h", "j", "k" или "l"), пока вы не достигнете правильного места и не спросите себя, как вы могли бы достиг этого эффекта при меньшем наборе текста. Вместо "lllll", скажем, "5l" или, возможно, "w" или "fa", если целью была следующая буква "a", которая только что закончилась пятью символами.

При правильном мышлении и хорошем понимании большей вселенной фильтров обработки текста большинство ваших вопросов сводятся к определению правильного диапазона текста и передаче его во внешнюю утилиту в контексте проекта, уже разумно организованного в папках и ctags запускаются из make чтобы поддерживать текущую базу тегов.

Есть много учебников и быстрых ссылок. Это один, кажется, выразить свою точку зрения, я пытаюсь передать здесь.

0

Я получил несколько ответов на вопрос:

1 Как запустить программы CPP с помощью vi, не выходя из нее.

Решение: Использование bang (!), За которым следует команда для запуска. Например, если вы редактируете файл в Vim и хотите узнать, сколько слов в файле, запустите

    :! wc %

Мы также можем выйти и перейти в оболочку, набрав: shell или: sh, оставаясь в vi, оболочка откроется, вы можете ввести любой символ no. команд, и когда вы закончите, вы можете просто выйти из оболочки, и вы снова приземлитесь в vi на том же месте.

6 Как искать в разных файлах для какого-либо ключевого слова без выхода из vi.

Решение. Используя то же объяснение в ответе 1. Использование grep:

 :! grep <keyword or regular expression>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню