使用vim制作lrc歌词文件 [原创]

    技术2022-05-19  24

     

    使用VIM制作lrc歌词文件 

     

    网络上的歌词一般只是简单的文本,但借助vim的一些功能,可以简单地制作出lrc歌词文件来.

     

    ===== 方案1 =====

     

    首先,将文本整理成一行一句的形式.

     

    录制第一个宏a, 记录起点时间

    qa :let start=reltime() q 

     

     

    录制第二个宏b, 在行首插入时间标签

    qb I<C-r>="[".strftime("%M:%S",reltime(start)[0]).".".printf("d",float2nr(reltime(start)[1]/10000))."]"<CR> <ESC>j q 

     

    在制作lrc时, 先运行@a, 用来生成初始时间, 之后在每行运行@b, 用以在行首加入时间标签.

     

    最好是去掉空白行,这样在第一次运行@b之后,就可以只需要按@@.

     

     

    ===== 方案2 =====

    方案1最大的缺陷在于录制宏比较麻烦,需要手动输入,第二种方案采用脚本加载的方式.

     

    :let start=reltime() :function! GetTimeString(seconds) : return strftime("/%M:/%S",a:seconds) :endfunc :function! GetDecDigits(msec) : return float2nr(a:msec/10000.0) :endfunc :function! GetTimeTag(start) : let reltime=reltime(a:start) : return printf("[/%s.d] ", GetTimeString(reltime[0]), GetDecDigits(reltime[1])) :endfunc :map <BS> :let start=reltime()<CR> :map <SPACE> I<C-R>=GetTimeTag(start)<CR><ESC>j 

    将上面的脚本存成lrc.vim文件.

     

    使用vim -s lrc.vim Song.lrc即可加载此脚本. 使用<BackSpace>键表示重设起点, <Space>键在当前行首插入时间标签,并且移动到下一行.

     

     

     


    最新回复(0)