Действительно ли возможно форматировать код C++ с VIM?

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

Интересно, может ли это быть сделано с VIM, и иначе который другие инструменты командной строки для этого могут Вы рекомендовать.

Спасибо

32
задан Chiel ten Brinke 23 February 2013 в 20:11
поделиться

4 ответа

Хотя vim - настоящий швейцарский нож, я все же предпочитаю внешние инструменты для некоторых работ. Этот подход в несколько раз более интуитивно понятен и легче запоминается, чем использование встроенного эквивалента.

В случае отступов я фильтрую весь файловый буфер через astyle. Параметры Astyle намного легче понять за пару минут, особенно если вы не являетесь гуру vim. Также astyle обеспечивает большую гибкость в настройке вывода.

Сначала установите astyle:
# apt-get install astyle

Затем внутри vim:
:%! Astyle (простой случай - режим по умолчанию - C / C ++)
{{ 1}} или
:%! Astyle --mode = c --style = ansi -s2 (стиль ansi C ++, используйте два пробела на каждый уровень отступа)
или
: 1,40! Astyle --mode = c --style = ansi (стиль ansi C ++, фильтровать только строки 1-40)

60
ответ дан 27 November 2019 в 19:47
поделиться

вы можете сделать следующее:

gg=G
28
ответ дан 27 November 2019 в 19:47
поделиться

Vim определенно сделает это, хотя результаты могут быть не идеальными:

  1. Сначала выберите весь файл в визуальном режиме: ggVG
  2. Затем hit = чтобы переставить все.

Вы можете узнать больше о команде равенства: : help =

4
ответ дан 27 November 2019 в 19:47
поделиться

Общее решение, аналогичное идее m000, заключается в использовании UniversalIndentGUI в качестве внешнего инструмента.

1
ответ дан 27 November 2019 в 19:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: