GithubHelp home page GithubHelp logo

jbtvim / ctrlp-funky Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tacahiroy/ctrlp-funky

0.0 0.0 0.0 591 KB

A super simple function navigator for ctrlp.vim

Home Page: http://www.vim.org/scripts/script.php?script_id=4592

License: MIT License

Vim Script 100.00%

ctrlp-funky's Introduction

ctrlp-funky

A super simple function navigator for ctrlp.vim.

SYNOPSIS

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

One of advantages of this plugin is that no configuration is required in most cases, so it starts working right after installation with no ctags required. If you want to have a more accurate list of function definitions, you should use other ctags-based tools, etc.

ctrlp-funky

Supported file types:

  • c
  • carbon
  • cf (ColdFusion)
  • clojure
  • cmm (TRACE32)
  • coffee-script
  • coldfusion
  • cpp (C++)
  • cs (C#)
  • css (css, scss)
  • dart
  • elixir
  • elm
  • go (Golang)
  • graphql
  • groovy
  • haskell
  • html/xhtml
  • java
  • javascript
  • Jenkinsfile (Jenkins pipeline script)
  • jinja (template engine for 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 and chef recipe)
  • rust
  • scala
  • sh (bash, dash and zsh)
  • sql
  • tex (LaTeX)
  • tf (terraform)
  • thrift
  • toml
  • typescript
  • vb (Visual Basic)
  • vim
  • vue (Vue.js)
  • yaml
  • zig

PREMISE

First of all, I believe you have already installed a great Vim plugin, ctrlp.vim. Otherwise, you need to install ctrlp.vim before you start using this plugin.

INSTALLATION

Plugin managers

It is recommended to install the plugin using your favourite plugin manager or use Vim's built-in package manager if you use Vim 8+.

Vim 8+ built-in package manager

mkdir -p ~/.vim/pack/plugins/start
git clone --depth=1 https://github.com/tacahiroy/ctrlp-funky.git ~/.vim/pack/plugins/start/ctrlp-funky
Plug 'tacahiroy/ctrlp-funky'
Plugin 'tacahiroy/ctrlp-funky'
call dein#add('tacahiroy/ctrlp-funky')

Manual installation

If you do not use any plugin management system, simply copy autoload and plugin directories to the .vim directory. On Windows, basically, vimfiles directory is used instead of the .vim directory.

CONFIGURATION

It is useful to define key mappings for the funky commands as below:

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

EXPERIMENTAL

MATCHED CHARACTER HIGHLIGHTINGS

If you want to have this highlight feature, you need to have a configuration below in your .vimrc:

let g:ctrlp_funky_matchtype = 'path'

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

funky-matched-chars-highlighting

SYNTAX HIGHLIGHTING

Do you want to make ctrlp-funky funkier? Okay - you can do it with just a single line of config:

let g:ctrlp_funky_syntax_highlight = 1

funky-syntax

Note that this feature doesn't work perfectly, because ctrlp-funky just sets the filetype to the funky buffer. CtrlP's indicator > which appears at the begining of each line in the funky buffer has special meaning for some filetypes such as HTML, XML, etc., so it breaks syntax highlighting.

LINK

LICENSE

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

ctrlp-funky's People

Contributors

ajmorada avatar cenksoykan avatar curist avatar djcas9 avatar dusans avatar gavocanov avatar hfm avatar hlissner avatar jagtesh avatar jean avatar kirstein avatar komnomnomnom avatar lorenzo avatar metainfa avatar minhajuddin avatar mudox avatar nkakouros avatar phongnh avatar prabirshrestha avatar rendon avatar robmiller avatar senft avatar siadat avatar somini avatar svenwin avatar tacahiroy avatar timfeirg avatar tokorom avatar vitalk avatar zaynetro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.