Используйте vim для преобразования заголовков уценки в заголовки org

Используйте vim для преобразования файла заголовков уценки в заголовок организации.

Например, измените это:

# heading one
body
##heading two
### heading three
body

к этому:

* heading one
body
**heading two
****** heading six

Только непрерывная последовательность "#", начинающаяся со столбца 0, должна быть заменена равным числом "*".

Это заменяет только первый '#' на '*':

%s/^[#]/*/c

Но может быть до шести "#" для замены.

1 ответ

Решение

Используйте выражение подстроки

%s/^#\+/\=repeat('*', len(submatch(0)))/
  • соответствовать целому # ведущая линия
  • возврат повторяется * пронумерованная длина совпадающей строки

submatch(0) означает целую часть совпадающей строки

Другие вопросы по тегам