Vim:如何索引纯文本文件?

前端之家收集整理的这篇文章主要介绍了Vim:如何索引纯文本文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在vim中索引纯文本文件(书籍),例如:
1. This line contains the words : London,Berlin,Paris
2. In this line,I write about : New-York,London,Berlin
...
100. And,to conclude,my last comments about : New-York,Paris@H_403_2@ 
 

并得到这个结果索引:

Berlin : 1
London : 1,2
New-York : 2,...,100
Paris : 1,100@H_403_2@ 
 

并且,如果可能,标记方法是什么?
我已经阅读过有关ctags的内容,但它似乎专注于特定语言(并说实话,对我的需求有点过分)

我冒昧地编写了以下函数,基于使用:g / STRING /#命令来获取匹配项.我将此命令的结果读入列表,然后处理它以返回匹配行号的列表:
function! IndexByWord( this_word )
    redir => result
    sil! exe ':g/' . a:this_word . '/#'
    redir END
    let tmp_list = split(strtrans(result),"\\^\@ *")
    let res_list = []
    call map(tmp_list,'add(res_list,matchstr(v:val,"^[0-9]*"))')
    let res = a:this_word . ' : ' . string(res_list)
    let res = substitute(res,"[\\[\\]\\']","","g")
    echo res
endfunction@H_403_2@ 
 

所以你可以在你希望的所有单词上调用这个函数(或者编写一个脚本来执行此操作)并将输出定向到文件.也许不是很优雅,但很好的自足.

希望这有助于而不是阻碍.

猜你在找的Bash相关文章