使用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>键在当前行首插入时间标签,并且移动到下一行.