如何在快速修复窗口中创建 Vim 函数列表?

4

有没有一种方法可以将当前缓冲区中定义的所有函数放入快速修复列表中?想象一下,在快速解决窗口中打开了taglist插件中的Tlist


http://vim.1045645.n5.nabble.com/Putting-all-ctags-matches-into-quickfix-td1182150.html - Ciro Santilli OurBigBook.com
2个回答

3

另一种选择是使用Unite来代替Vim。它也需要ctags,但提供缓冲区列表/跳转和类似FuzzyFinder的文件打开功能。使用大纲插件,您可以获得漂亮的函数列表。我经常使用它不仅用于跳转到函数定义,还可以快速查找参数。

http://cl.ly/5xok/ss-13042011.png


你能详细解释一下你是如何使用 unite 实现这个的吗?谢谢。 - skeept
2
好的。在安装了ctagsUnite.vimUnite Outline插件之后,您可以打开任何支持的文件类型(请参见[http://d.hatena.ne.jp/h1mesuke/20101107/p1],我不会日语,但截图足够说明问题),输入`:Unite outline,然后您将获得一个弹出式缓冲区,其中包含像屏幕截图中那样漂亮的大纲。此时,您可以使用<c-n><c-p>`或只需键入几个字符即可过滤列表。按Enter键将跳转到所选的函数/标题。一个缺点是这在一个文件中是有限制的。 - tungd
你是怎么让它垂直分割打开的?我只能水平向上打开。我查看了代码,但我对Vim还不是很熟悉。 - New Alexandria
1
我现在看到Unite的“core”处理了这个设置。使用-vertical-horizontal在此处查看所有变量。例如,我现在使用nnoremap <space>o :Unite -start-insert -vertical -winwidth=50 -direction=belowright outline来整洁地打开标签分割窗口,而不修改其他分割窗口的大小。 - New Alexandria

2
  1. Create an expression that returns the list that you want. Eg:

    let cmd='exctags -x '.bufname('%')." | awk '{print $4\"|\"$3\"|\",$1}'"
    
  2. Feed it to cexpr or cgetexpr

    cexpr system(cmd)
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接