gpt4 book ai didi

ruby - vim iab 调用函数插入不同的时间(戳记)

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:12 25 4
gpt4 key购买 nike

我希望在 vim 缓冲区中包含以下内容,最好独立于操作系统。

  1. 键入 today 将替换为 =20130716需要等号!
  2. 输入 tomorrow 将替换为 =20130717
  3. 键入 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>   

我怎样才能实现我的愿望。最好的操作系统独立和 ruby​​ 方式 :) 对于第一种方法 2. 和 3. 避免不需要的回车会很好。

我的 vim 内置了 ruby​​,所以也许有一种更聪明的方法来调用我展示的 ruby​​ 命令。目前我不知道更好的方法。

最佳答案

尝试在插入模式下使用以下映射:

:inoremap <expr> today strftime( "=%Y%m%d", localtime() )
:inoremap <expr> tomorrow strftime( "=%Y%m%d", localtime() + (24 * 3600) )
:inoremap <expr> nextweek strftime( "=%Y%m%d", localtime() + (7 * 24 * 3600) )

关于ruby - vim iab 调用函数插入不同的时间(戳记),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17686426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com