Возможно ли создать блок комментариев ASCII вокруг блока кода?Сделать поле ascii вокруг кодового блока в Vim
- ASCII коробка должна быть достаточно умна расширить рамку вокруг максимальной ширины кода . Но он должен также очистить любые конечные пробелы.
- Обратите внимание: в начале кода не должно быть строки столбца.
- В моем коде, показанном ниже,
;
является символом комментария. - Блок кода может содержать строки комментариев.
- потока Работа может быть
- выбрать блок кода в визуальном режиме
- Применить изменения.
Ниже приведен пример.
Перед
; Convert to radians
theta45 = (theta + 45.)/!RADEG
theta90 = (theta + 90.)/!RADEG
theta = theta/!RADEG
Ey = Ey * normal
; Engineering shear strain
Gxy = shear * Exy
После
; -----------------------------------------;
; Convert to radians ;
theta45 = (theta + 45.)/!RADEG ;
theta90 = (theta + 90.)/!RADEG ;
theta = theta/!RADEG ;
Ey = Ey * normal ;
;
; Engineering shear strain ;
Gxy = shear * Exy ;
; -----------------------------------------;
То, что я пытался до сих пор
'<,'>s/^\(\s*\)\(.*\)$/\=join([submatch(1), ';', submatch(2), repeat('-', 50-len(submatch(1)) - len(submatch(2))), ';'], '')
note Сначала я выбрал визуальный блок.
Проблемы, связанные с ней
- это добавляет «-» символ каждой строки, вместо первой и последней строки
- Она начинается с первой строки и заканчивается последней строке, я предпочитаю его имеют блок до и после выбранных строк.
- Конечные пробелы не удаляются.
- Поскольку у меня есть подсветка поиска, она выделяет весь визуальный блок после операции.
Вот как это выглядит:
;; Convert to radians ------------------;
;theta45 = (theta + 45.)/!RADEG------------------;
;theta90 = (theta + 90.)/!RADEG------------------;
;theta = theta/!RADEG ------------------;
;Ey = Ey * normal ------------------;
;--------------------------------------------------;
;; Engineering shear strain ------------------;
;Gxy = shear * Exy ------------------------;
Хотя, это не очень близко к тому, что я хочу получить. Я мог только зайти так далеко!
Спасибо за чтение и вашу помощь.
Это не прямой ответ на ваш вопрос, но есть много бесплатных онлайн-инструментов, которые могут создавать красиво-отформатированные таблицы ASCII, учитывая некоторый вклад. Вот ссылка на один из них: https://ozh.github.io/ascii-tables/ –