我最近开始使用ctx Vim插件。这个插件提供了一个“上下文”窗口,其中显示了作用域的各个层次--函数定义、for循环、if语句等--一直到当前行。这真的很棒!..in理论。在实践中,我发现它并不都那么可靠。我可能只是运气不好;到目前为止,我真的只尝试在一个文件上使用它。
例如,在vim的src/ex_getln.c中的ExpandFromContext函数中,不显示函数签名,只显示左大括号。
这个插件已经很旧了(2002年的最后一次更新),而且author似乎已经转向了完全非C语言的东西(看起来主要像是clojure开发)。因此,提交错误报告似乎没有多大意义。
有没有这个插件的分支或者另一个能够提供更可靠的解析的分支?
发布于 2011-04-21 22:21:41
虽然这个功能很基本,但它对我很有帮助。从一个朋友那里得到的,他是从一个网站上得到的,所以没有声称自己是作者。将它添加到您的vimrc中,以获取当前所在的函数。我只在C/C++中使用过它:
fun! ShowFuncName()
let lnum = line(".")
let col = col(".")
echohl ModeMsg
echo getline(search("^[^ \t#/]\\{2}.*[^:]\s*$", 'bW'))
echohl None
call search("\\%" . lnum . "l" . "\\%" . col . "c")
endfun
noremap <silent> <F3> :call ShowFuncName() <CR>发布于 2011-04-21 21:37:37
这个插件可能也已经过时了,因为同时还有一些很好的Vim特性,至少-折叠,6种方法(:帮助折叠),-处理文本对象(:帮助文本-对象)。
发布于 2015-07-23 11:18:50
也许SrcExpl适合你。
https://stackoverflow.com/questions/5740056
复制相似问题