1

我喜欢与 Vim 一起工作。我在 ~.vimrc 中使用 autocmd,例如:

  :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.34 5 到版本:v1.34 6

在我编写 shell 脚本时,我喜欢自动修改一些行:

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

(也许那更清楚一点)

4

2 回答 2

2

编辑以匹配您发布的示例:

:%s/\m\%<21l^# Last modified: \zs.*/\=strftime('%Y %b %d')/
:%s/\m\%<21l^# Version: v\d\+\.\d\+-\zs\d\+/\=submatch(0)+1/
于 2017-02-07T14:06:25.790 回答
0

我的意思是:在这样的脚本中:#!/bin/bash # Last modified: # Version: v1.23<#>

我认为您想更改 shell 脚本中的版本。假设你有:

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

你可以在你的.vimrc

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

然后每次你打开你的shellscript,按@v会使版本号加1。1例如,从v1.1099v1.1100

实际上它创建了一个宏。

于 2017-02-07T19:58:19.103 回答