Я пишу многострочный комментарий с правильным отступом перед каждой функцией, которую я пишу в коде 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
*/