Как добавить или изменить номер версии в Vimrc autocmd?

Я люблю работать с Vim. Я использую autocmd в ~.vimrc как:

  :fun LastMod()
  :  if line("$") > 20
  :    let l = 20
  :  else
  :    let l = line("$")
  :  endif
  :  exe "1," . l . "g/Last modified: /s/Last modified: .*/Last modified: " .
  :  \ strftime("%Y %b %d")
  :endfun

Вопрос в том,как я могу добавить или изменить номер версии, например:

от версии: v1.345 до версии: v1.346

В действии, когда я пишу скрипт-оболочку, мне нравится автоматически изменять некоторые строки:

#!/bin/bash
# Last modified: <date time>
# Version: v1.23-<n>
#

(может быть, это немного более понятно)

2 ответа

Решение

что я имею в виду: в сценарии типа: #!/bin/bash # Последнее изменение: # версия: v1.23<#>

Я думаю, что вы хотите изменить версию в ваших сценариях оболочки. Предположим, что у вас есть:

#!/bin/bash
#Last modified: whatever
#Version: v1.234
#other stuff
...

Вы можете иметь эту строку в своем .vimrc:

let @v="gg/Version:/\<cr>2E\<c-a>"

Затем каждый раз, когда вы открываете свой скрипт, нажимая @v увеличит номер версии на 1. Ну, 1 означает, например, из v1.1099 в v1.1100

На самом деле он создал макрос.

Отредактируйте в соответствии с размещенным вами образцом:

:%s/\m\%<21l^# Last modified: \zs.*/\=strftime('%Y %b %d')/
:%s/\m\%<21l^# Version: v\d\+\.\d\+-\zs\d\+/\=submatch(0)+1/
Другие вопросы по тегам