Как сделать отступ для многострочного комментария c в vim - PullRequest
0 голосов
/ 30 марта 2019

Я пишу многострочный комментарий с правильным отступом перед каждой функцией, которую я пишу в коде c в проекте, над которым я работаю.Я использую редактор gvim.Проблема много раз, я делаю некоторые изменения в функции, и мне приходится заново редактировать комментарий, и повторный редактирование комментария делает комментарий без отступа.Я снова должен переосмыслить комментарий.Мне трудно переиздать многострочный комментарий.Существуют ли какие-либо ярлыки или утилиты в gvim, с помощью которых я могу легко сделать отступ для многострочного комментария автоматически?

Я искал в сети эту проблему и не смог найти ничего полезного для ее решения.Здесь я показываю пример многострочного комментария, который я написал перед функцией, за которой следует многострочный комментарий после повторного редактирования (обратите внимание, что теперь он не имеет отступа), за которым следует ожидаемый результат.

У меня также есть другой вопрос.Вы пишете комментарий перед каждой функцией, которую вы пишете в c.Если да, как сохранить отступ комментария, если вы внесли некоторые изменения в функцию?

/*
 * Function: remove_item_from_list
 * --------------------
 *  Removes an item from a list. Here list is a sequence of same type objects. 
 *  pItem is also same type object. This is a generic function in the sense
 *  that it can work for different type of objects. Currently pList will have 
 *  only one copy of pItem w.r.t. the calling places. So whenever the item  
 *  found a break statement is used.
 *
 *  pList : a sequence of objects
 *  pItem : object
 *
 *  returns: modified list
 */

Теперь я повторно отредактировал комментарий после внесения некоторых изменений в функцию.Теперь комментарий в редакторе gvim выглядит следующим образом.Мои изменения в комментарии присутствуют в блоке ## ##.

/*
 * Function: remove_item_from_list
 * --------------------
 *  Removes an item from a list. Here list is a sequence of same type objects. 
 *  pItem is also same type object. This is a generic function in the sense
 *  that it can work for different type of objects. ##Currently it works for Animal and Bird type objects. If you want this function to work for some there type object then you have add check for that object. Note that this function assumes that pItem can't be NULL.## Currently pList will have 
 *  only one copy of pItem w.r.t. the calling places. So whenever the item  
 *  found a break statement is used.
 *
 *  pList : a sequence of objects
 *  pItem : object
 *
 *  returns: modified list
 */
/*
 * Function: remove_item_from_list
 * --------------------
 *  Removes an item from a list. Here list is a sequence of same type objects. 
 *  pItem is also same type object. This is a generic function in the sense
 *  that it can work for different type of objects. Currently it works for 
 *  Animal and Bird type objects. If you want this function to work for some 
 *  there type object then you have add check for that object. Note that this 
 *  function assumes that pItem can't be NULL.## Currently pList will have 
 *  only one copy of pItem w.r.t. the calling places. So whenever the item  
 *  found a break statement is used.
 *
 *  pList : a sequence of objects
 *  pItem : object
 *
 *  returns: modified list
 */

1 Ответ

2 голосов
/ 30 марта 2019

Вы можете использовать команду gq (:help gq).Запустите визуальный выбор вокруг абзаца для форматирования и введите gq.Основываясь на наборе textwidth (как уже упоминалось @Michail), Vim правильно обернет текст, помня, что это комментарий.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...