如何在 Vimrc autocmd 中添加 or/and 修改版本号
How can I add or/and modify a version-number in Vimrc autocmd
我喜欢和 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
问题是:
如何添加 or/and 修改版本号 如:
来自
版本:v1.345
到
版本:v1.346
在写shell脚本时,我喜欢自动修改一些行:
#!/bin/bash
# Last modified: <date time>
# Version: v1.23-<n>
#
(也许这样更清楚一点)
编辑以匹配您发布的样本:
:%s/\m\%<21l^# Last modified: \zs.*/\=strftime('%Y %b %d')/
:%s/\m\%<21l^# Version: v\d\+\.\d\+-\zs\d\+/\=submatch(0)+1/
what I mean is: in a script like: #!/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>"
然后每次你打开你的shell脚本,按@v
将使版本号增加1。那么1
意味着例如,从v1.1099
至 v1.1100
实际上它创建了一个宏。
我喜欢和 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
问题是: 如何添加 or/and 修改版本号 如:
来自 版本:v1.345 到 版本:v1.346
在写shell脚本时,我喜欢自动修改一些行:
#!/bin/bash
# Last modified: <date time>
# Version: v1.23-<n>
#
(也许这样更清楚一点)
编辑以匹配您发布的样本:
:%s/\m\%<21l^# Last modified: \zs.*/\=strftime('%Y %b %d')/
:%s/\m\%<21l^# Version: v\d\+\.\d\+-\zs\d\+/\=submatch(0)+1/
what I mean is: in a script like: #!/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>"
然后每次你打开你的shell脚本,按@v
将使版本号增加1。那么1
意味着例如,从v1.1099
至 v1.1100
实际上它创建了一个宏。