ctrlp-funky
ctrlp.vim的超级简单函数导航器。
概要
这是ctrlp.vim的一个扩展。它只是从当前文件中导航到函数定义,无需ctags。它只使用正则表达式搜索函数定义或等效行,因此某些语言的抽象并不准确,因为它们很难解析。
该插件的一个优点是在大多数情况下无需配置,所以安装后就可以立即使用,不需要ctags。 如果你想要更准确的函数定义列表,应该使用其他基于ctags的工具等。
支持的文件类型:
- c
- carbon
- cf (ColdFusion)
- clojure
- cmm (TRACE32)
- coffee-script
- coldfusion
- cpp (C++)
- cs (C#)
- css (css, scss)
- dart
- elixir
- elm
- fish (fish-shell)
- go (Golang)
- graphql
- groovy
- haskell
- html/xhtml
- java
- javascript
- Jenkinsfile (Jenkins pipeline脚本)
- jinja (Python模板引擎)
- lua
- make (Makefile)
- markdown
- moon (MoonScript)
- nerdtree
- objc (Objective-C)
- perl
- php
- plsql (PL/SQL)
- proto (Protocol Buffers)
- python
- r
- rmd (rmarkdown)
- ruby (ruby, rake, rspec和chef recipe)
- rust
- scala
- sh (bash, dash, fish和zsh)
- sql
- tex (LaTeX)
- tf (terraform)
- thrift
- toml
- typescript
- vb (Visual Basic)
- vim
- vue (Vue.js)
- yaml
- zig
前提
首先,我相信你已经安装了一个很棒的Vim插件,ctrlp.vim。 否则,在开始使用此插件之前,你需要先安装ctrlp.vim。
安装
插件管理器
建议使用你喜欢的插件管理器安装此插件,或者如果你使用Vim 8+,可以使用Vim的内置包管理器。
Vim 8+内置包管理器
mkdir -p ~/.vim/pack/plugins/start
git clone --depth=1 https://github.com/tacahiroy/ctrlp-funky.git ~/.vim/pack/plugins/start/ctrlp-funky
vim-plug (https://github.com/junegunn/vim-plug)
Plug 'tacahiroy/ctrlp-funky'
Vundle (https://github.com/VundleVim/Vundle.vim)
Plugin 'tacahiroy/ctrlp-funky'
dein.vim (https://github.com/Shougo/dein.vim)
call dein#add('tacahiroy/ctrlp-funky')
手动安装
如果你不使用任何插件管理系统,只需将_autoload_和_plugin_目录复制到_.vim_目录即可。 在Windows上,通常使用_vimfiles_目录代替_.vim_目录。
配置
为funky命令定义键映射很有用,如下所示:
nnoremap <Leader>fu :CtrlPFunky<Cr>
" 使用光标下的单词缩小列表范围
nnoremap <Leader>uu :execute 'CtrlPFunky ' . expand('<cword>')<Cr>
实验性功能
匹配字符高亮
如果你想要此高亮功能,需要在.vimrc中添加以下配置:
let g:ctrlp_funky_matchtype = 'path'
有关更多详细信息和注意事项,请参阅:h g:ctrlp_funky_matchtype
。
语法高亮
你想让ctrlp-funky更酷吗?好的 - 只需一行配置就可以做到:
let g:ctrlp_funky_syntax_highlight = 1
请注意,此功能无法完美工作,因为ctrlp-funky只是将文件类型设置为funky缓冲区。
CtrlP的指示符>
出现在funky缓冲区每行的开头,对某些文件类型(如HTML、XML等)具有特殊含义,因此会破坏语法高亮。
链接
许可证
版权所有 (C) 2012-2020 Takahiro Yoshihara。根据MIT许可证分发。