我希望 vim 缓冲区中的以下内容,最好独立于操作系统。
- 打字
today
将被替换=20130716
。需要等号! - 键入
tomorrow
将替换为=20130717
- 键入
nextweek
将替换为=20130723
作为上述行的信息:今天是 2013 年 7 月 16 日
对于 1. 我可以使用(在 Windows 上不起作用):
iab <expr> tod strftime("=%Y%m%d")
对于 2. 和 3. 我可以使用(没有 Windows 并添加额外的和不需要的回车):
iab tom <C-o>:r !date -v+1d "+\%Y\%m\%d"<CR>
对于 2. 和 3. 我可以使用(独立于操作系统,但还有额外和不需要的回车):
iab too <ESC>:r !ruby -e "puts (Time.now + 24*60*60).strftime('\%Y\%m\%d')"<CR>
我怎样才能实现我的愿望。最好的操作系统独立和红宝石方式:) 对于第一种方法 2. 和 3. 避免不必要的回车会很好。
我的 vim 内置了 ruby,所以也许有一种更聪明的方法来调用我显示的 ruby 命令。目前我不知道更好的方法。