自创用Vim调整.srt字幕时间代码

本文介绍了如何在Vim中通过自定义函数来调整.srt字幕文件的时间,包括添加文件类型检测、定义转换和调整时间的函数,以及具体的使用示例。
摘要由CSDN通过智能技术生成
    现在调整字幕时间的工具很多,但我在开始学习 vim 的时候,用的是64位的win7那时候,有个 VobSub 软件不能在其下兼容运行,于是就自已写了些 vim 函数来调整。
 
第一步,在 vim 安装目录下的 vimfiles\after\ftdetect 目录底下添加个文件 filetypes.vim 让 vim 能够检测文件类型 srt 并加载相应的编辑函数;其代码如下:
<pre class="plain" name="code">augroup filetypedetect
au BufNewFile,BufRead *.srt setf srt
augroup END
 
 
第二步,在 vim 安装目录下的 vimfiles\after\ftplugin 目录底下添加个文件 srt.vim 让 vim 检测到当是 srt 文件类型时,加载 srt.vim 里的函数;代码如下:
<pre class="html" name="code">let s:millisecs = 0

function! Convert2MilliSeconds(time)
  let l:time = a:time
  let l:result = 0
  if type(l:time) == 1
    if stridx(l:time, ",") != -1
      let l:time = substitute(l:time, ",", ".", "")
    endif
    let l:sign = 1
    if stridx(l:time, "-") == 0
      let l:sign = -1
      let l:time = strpart(l:time, 1)
    elseif stridx(l:time, "+") == 0
      let l:time = strpart(l:time, 1)
    endif
    if stridx(l:time, ":") != -1
      let l:hmstime = split(l:time, ":")
      let l:millisecs = 3600000
      for l:part in l:hmstime
        let l:result += float2nr(l:sign*l:millisecs*str2float(l:part))
        let l:millisecs = l:millisecs/60
      endfor
      if l:millisecs >= 1000
        let l:result = l:result/60
      endif
    else
      let l:result = float2nr(l:sign*str2float(l:time)*1000)
    endif
  else
    let l:result = float2nr(l:time*1000)
  endif
  return l:result
endf

function! AdjustTime(time)
  let s:millisecs = Convert2MilliSeconds(a:time)

  normal! ma
  silent /\d\d:\d\d:\d\d,\d\d\d
  if stridx(errmsg, "E486") &#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在 Ubuntu 22.04 上配置 Vim 代码补全插件 coc.vim: 1. 首先,确保你已经安装了 Vim 编辑器。如果没有安装,可以使用以下命令进行安装: ``` sudo apt update sudo apt install vim ``` 2. 安装 Node.js,因为 coc.vim 是基于 Node.js 运行的。你可以使用 NVM(Node Version Manager)来安装和管理 Node.js 版本。按照以下步骤安装 NVM 和 Node.js: - 安装 NVM: ``` curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash source ~/.bashrc ``` - 安装 Node.js: ``` nvm install --lts ``` 3. 确保已经安装了 npm(Node.js 包管理器),你可以使用以下命令来安装 npm: ``` sudo apt update sudo apt install npm ``` 4. 接下来是安装 coc.vim 插件。打开终端,执行以下命令: ``` vim ~/.vimrc ``` 在打开的 `~/.vimrc` 文件中添加以下内容: ``` " coc.vim configuration let g:coc_global_extensions = ['coc-tsserver', 'coc-html', 'coc-css', 'coc-json', 'coc-python'] ``` 5. 保存并退出 `~/.vimrc` 文件,并重新启动 Vim。 6. 在 Vim 中按下 `:` 进入命令行模式,然后输入 `CocInstall coc-tsserver` 安装 TypeScript 服务器(补全 JavaScript、TypeScript)。 对于其他语言的补全插件,你可以使用类似的命令进行安装,如 `CocInstall coc-python` 安装 Python 补全插件。 完成以上步骤后,你就可以在 Vim 中使用 coc.vim 进行代码补全了。请记住,coc.vim 支持多种语言的代码补全,你可以根据自己的需要安装相应的补全插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值