使用Vim将批量将快捷方式转换为TypeAndRun的Config.ini格式

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:使用Vim将批量将快捷方式转换为TypeAndRun的Config.ini格式
  • 本文链接:http://zengrong.net/post/1460.htm

关于快速启动,我最早使用的是Win+R这种绿色的方式。但由于要记忆大量的自定义文件名,且不支持模糊查找,我改用了 Find and Run Robot (FARR)

但突然有一天,我感觉FARR实在是太慢了……

于是我改用 TypeAndRun

原来用FARR的时候,我是把一堆常用的快捷方式放在一个文件夹中,然后在FARR中将这个文件夹加入索引位置,以实现快速启动。4年多来,这个文件夹中有88个快捷方式。

现在Type And Run要求将所有的自定义别名加入到Config.ini中。一个个手动加实在是太痛苦了,我用Vim写了个脚本实现它:

" 获取当前路径下的所有文件
let s:links = glob(getcwd().'/**')
" 使用换行符作为分隔符,将所有路径转换成列表
let s:linklist = split(s:links, "\")
" 在列表中循环处理
for linkstr in s:linklist
    " 获取快捷方式的真实路径
    let s:path = resolve(linkstr)
    " 获取快捷方式的主文件名
    let s:substr = matchstr(linkstr, '\w\+\.lnk')
    " 去掉住文件名中包含的扩展名
    let s:mainname = strpart(s:substr, 0, strlen(s:substr)-4)
    " 按照TypeAndRun的Config.ini文件的格式插入当前缓冲区
    exec "normal o\i".s:mainname."|".s:path
endfor

如果希望将某个目录下的所有exe文件(包括子目录)加入Config.ini中,也只需要稍稍改一下上面的代码即可。当然,这种需求还可以使用 Total Commander 实现,更加方便。