Skip to content

prabirshrestha/ctrlp-funky

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ctrlp-funky

Very simple function navigator for ctrlp.vim.

SYNOPSIS

This is a ctrlp.vim extension. It simply navigates and jumps to function definitions from the current file without ctags. It just searches function definitions or equivalent lines using regular expressions, therefore some languages' abstraction aren't accurate because of hard to parse.

One of advantages of this plugin is you needn't to generate tags file to jump to definition of functions, classes etc.

ctrlp-funky

Currently, following filetypes are supported:

  • c/cpp (C/C++)
  • chef
  • cmm (TRACE32)
  • coffee-script
  • elixir
  • go
  • html/xhtml
  • java
  • javascript
  • jinja (template engine for Python)
  • lua
  • make (Makefile)
  • markdown
  • nerdtree
  • objc (Objective-C)
  • perl
  • php
  • python
  • ruby
  • scala
  • sh (bash, dash and zsh)
  • yaml
  • vb (Visual Basic)
  • vim

PREMISE

First of all, I believe you're a user of a great Vim plugin called ctrlp.vim. Otherwise, you need to install ctrlp.vim before start using this plugin.

INSTALLATION

:PluginInstall tacahiroy/ctrlp-funky

In addition, don't forget put a line below into your .vimrc.

Plugin 'tacahiroy/ctrlp-funky'
$ cd ~/.vim/bundle
$ git clone git://github.com/tacahiroy/ctrlp-funky.git

Manually

If you don't use either plugin management systems, copy autoload and plugin directories to your .vim directory. On Windows, basically, vimfiles directory is used instead of .vim directory.

CONFIGURATION

You need to make the plugin available as a ctrlp.vim extension. Please add funky to a variable g:ctrlp_extensions.

let g:ctrlp_extensions = ['funky']

Reboot Vim and then you can use :CtrlPFunky command.

It might be useful key mappings like:

nnoremap <Leader>fu :CtrlPFunky<Cr>
" narrow the list down with a word under cursor
nnoremap <Leader>fU :execute 'CtrlPFunky ' . expand('<cword>')<Cr>

EXPERIMENTAL

MATCHED CHARS HIGHLIGHTING

If you want to have this highlight feature, you may configure like this:

let g:ctrlp_funky_matchtype = 'path'

See :h g:ctrlp_funky_matchtype for more details and notes.

funky-matched-chars-highlighting

SYNTAX HIGHLIGHTING

I'd like to introduce one of ctrlp-funky options. Do you want to make ctrlp-funky funkier? Okay - you can do it just 1 line config.

let g:ctrlp_funky_syntax_highlight = 1

funky-syntax

Note that this feature doesn't work perfectly, because ctrlp-funky just sets filetype to the funky buffer and the buffer contains '>' in the first column. In some filetypes, this sign has special meaning such as HTML tag, so it breaks syntax highlighting.

LINK

LICENSE

Copyright (C) 2012-2014 Takahiro Yoshihara. Distributed under the MIT License.

About

a ctrlp.vim extension - Navigate and jump to function defs

Resources

Stars

Watchers

Forks

Packages

No packages published