Textmate'转到符号'等同于Vim

时间:2010-09-20 17:02:01

标签: ruby-on-rails ruby vim

在Railcasts上,我注意到一个非常有趣的功能“转到符号”窗口。它的工作方式与Command-T类似,但在当前文件中显示可用的类和方法。如何在vim中获取它?

5 个答案:

答案 0 :(得分:5)

尝试

:help tags

有各种程序和脚本可以生成标记文件。此外,标记文件格式非常简单,因此很容易将sed(1)或某些此类脚本放在一起,这些脚本将使用您正在使用的任何语言生成标记文件。

轻松获取标记文件(除了下载生成器)的关键是键入格式化样式而不是实际解析语法。

答案 1 :(得分:5)

Github上找到一个名为 CtrlP 的vim插件 其中包括:CtrlPBufTag命令。 它将通过与当前缓冲区文件关联的标签进行模糊搜索。 完全像Textmate中的“转到符号”功能。 您必须安装丰富的ctags,并且可能作为vim taglist插件有用,也可以在 Github 上找到。

关于CtrlP插件的一个很棒的事情是它提供模糊搜索整个项目中的文件,缓冲区,标签(包括库,如果你也标记它们),只提供当前打开缓冲区中的标签。

参考文献:

答案 2 :(得分:4)

每个OS X 10.6(Snow Leopard)安装的预安装ctags版本日期为1993

http://ctags.sourceforge.net/下载,编译和安装最新版本。这将节省许多不必要的麻烦(例如1993版本不支持Java语法,因为Java尚未发明。对于许多较新的语言来说也是如此。)

安装完成后,使用ctags -R *命令以递归方式处理源代码,并在当前工作目录中创建一个标记文件(默认名为tags)。

VIM将解析此标记文件。将光标移到函数/方法调用上,按<Ctrl> + ],VIM打开包含与光标下文本匹配的方法/函数体的文件。要返回上一个文件,请按<Ctrl> + t,然后VIM将其当前缓冲区交换到我们最初跳转的文件。

正如DigitalRoss建议的那样,阅读VIM的内置帮助文档可以让您更深入地了解ctags的强大功能。使用此命令阅读文档:

:help tags

答案 3 :(得分:3)

同样值得为混合http://ctags.sourceforge.net/添加旺盛的ctags。这将解析包括ruby在内的大量语言并为您生成标记文件,并将您从sed位保存。

ctags -R 

会做的伎俩。另请参阅侧栏的优秀Taglist插件,列出当前打开的缓冲区中的所有标记:

http://vim-taglist.sourceforge.net/

答案 4 :(得分:1)

试用Command-T VIM插件。

  

VIM的Command-T插件提供   一种极其快速,直观的机制   用于打开最小的文件   击键次数。它被命名了   “Command-T”因为它受到了启发   绑定到“转到文件”窗口   TextMate中的Command-T。

     

通过键入选择文件   出现在路径中的字符,   并按算法排序   知道出现的字符   某些地点(例如,   路径分隔符后立即)   应该给予更多的重量。

或者您可能也想PeepOpen

  

PeepOpen是一个文件导航   适用于TextMate的应用程序,   Coda,MacVim和Emacs(Mac OS X Snow   需要64位Intel的Leopard,   对其他编辑的支持即将到来   不久)。在两条路径上搜索   文件名,并轻松打开文件   你的文本编辑器与单一   按键。有用的元数据可以帮助   快速选择您正在查找的文件   对