• Stars
    star
    216
  • Rank 183,151 (Top 4 %)
  • Language
    Vim Script
  • Created about 16 years ago
  • Updated almost 16 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A vim script that extends the fuzzyfinder plugin to support TextMate style file searches (e.g. cmd-T) (Unmaintained now, see http://weblog.jamisbuck.org/2009/1/28/the-future-of-fuzzyfinder-textmate)
FuzzyFinder: TextMate
--------------------------
This is an extension to Takeshi NISHIDA's excellent Fuzzyfinder VIM script[1]. It adds a TextMate mode, for completing file names in a similar fashion to how TextMate[2] does file completion in its cmd-T window.

This extension is partially written in Ruby[3], and it depends on a separate Ruby module (fuzzy_file_finder[4]), so you'll need Vim to be compiled with Ruby support.


Usage
------------------------
Usage is almost identical to the Fuzzyfinder script, so you should check out the documentation[1] for that (which is very good). The only difference is that to start TextMate mode, you just invoke the :FuzzyFinderTextMate command. It is recommended to map that command to something more agile, e.g.:

  map <leader>t :FuzzyFinderTextMate<CR>

Once in TextMate mode, completion is done against the entire directory tree at once, using partial matches. Results are sorted by "score", which is a measure of how closely the file matches the text you entered.

There are several different variables that you may set in your .vimrc file that can be used to tweak the finder's behavior:

* g:fuzzy_roots - this defaults to the current directory, but may be set to an array of paths that you want the finder to search.
* g:fuzzy_ceiling - this defaults to 10,000, and is the maximum number of files that the finder will scan before it raises an error. To use the finder on larger trees, set this variable to a value larger than the number of files you expect to scan.
* g:fuzzy_ignore - this is a delimited list of file glob patterns to ignore. Entries may be delimited using either semi-colons or commas.
* g:fuzzy_matching_limit - this is the maximum number of items that will be matched, and defaults to 200. If the finder feels sluggish to you, you can reduce this to something smaller (100, or 50).

Installation
-----------------------
First, make sure you have the Fuzzyfinder script[1]. Install that as per the instructions for that script.

Then, you'll need to install the fuzzy_file_finder[4] Ruby module. The simplest way to do this is via Rubygems:

  gem install --source=http://gems.github.com jamis-fuzzy_file_finder

Alternatively, you can take the lib/fuzzy_file_finder.rb file from that project and put it in ~/.vim/ruby.

Lastly, you'll need to install this extension script. Take the fuzzyfinder_textmate.vim script and put it under ~/.vim/plugin.


License
-----------------------
Most of this script and its supporting documentation is made available in the PUBLIC DOMAIN. It may be used, modified, and redistributed, almost without exception. The only exceptions are those parts of the code that were copied from NISHIDA's original script; those parts are distributed under the MIT license, as indicated by NISHIDA's code. The parts that were copied are indicated thus by comments.


References
-----------------------
[1] http://www.vim.org/scripts/script.php?script_id=1984
[2] http://www.macromates.com
[3] http://www.ruby-lang.org
[4] http://github.com/jamis/fuzzy_file_finder/tree/master

More Repositories

1

bulk_insert

Efficient bulk inserts with ActiveRecord
Ruby
818
star
2

bucketwise

ATTENTION: This project is no longer being updated. If you're still interested, feel free to read on... "A web-based personal finance manager with a focus on non-OCD budgeting and avoiding credit card debt"
Ruby
457
star
3

csmazes

Maze algorithms implemented in CoffeeScript, with an eye toward demonstrating how the algorithms work by animating them.
CoffeeScript
391
star
4

castaway

System for building screencasts and video presentations
Ruby
306
star
5

theseus

A very flexible random maze generator, solver, and renderer for Ruby
Ruby
178
star
6

query-composer

A library for composing complex SQL queries by defining their subcomponents and the dependencies between them.
Ruby
166
star
7

fuzzy_file_finder

A (slightly enhanced) implementation of TextMate's cmd-T lookup functionality, in Ruby, for embedding in other projects
Ruby
143
star
8

wordsearch

A word-search puzzle generator
Ruby
76
star
9

safe_mass_assignment

ActiveRecord plugin for allowing (careful) mass assignment of protected attributes, separate from values provided via users of your application.
Ruby
55
star
10

net-ssh-multi

SSH connection multiplexing: execute commands simultaneously on multiple hosts via SSH
Ruby
44
star
11

sqlpp

A simplistic SQL parser and pretty-printer
Ruby
42
star
12

impose

A utility and library for imposition -- arranging pages on a sheet of paper for optimal printing
Ruby
37
star
13

dnd-dungeon

A random maze generator in C, with a CGI front-end for generating random dungeons for D&D, 3rd edition
35
star
14

kaleidoscope

Generate uniform tilings (tesselations) of a plane using Wythoff constructions. Not as hard (or scary) as it sounds!
Ruby
32
star
15

net-ssh-shell

NOTE: this repository is no longer actively maintained. Please go to the actively maintained repository, here: https://github.com/mitchellh/net-ssh-shell. Net::SSH::Shell is a net-ssh extension library that provides an API for programmatically interacting with a login shell
Ruby
26
star
16

ifrb

Interactive Fiction for Interactive Ruby
Ruby
23
star
17

mod_reproxy

A module for Apache 2 that implements support for the X-Reproxy-Url response header
C
23
star
18

net-ssh-gateway

THIS REPOSITORY IS NO LONGER MAINTAINED. Please see https://github.com/net-ssh/net-ssh-gateway for the currently maintained version. Thanks! -- A gateway class for tunneling connections via SSH over a forwarded port.
Ruby
23
star
19

amazing-desktops

A simple utility for generating random abstract images (using mazes) for use as desktop wallpaper.
C
21
star
20

MazeMaker

An implementation of grid layouts and maze algorithms, in Swift
Swift
20
star
21

logic-engine

Prolog-inspired logic engine in Ruby, with backtracking
16
star
22

rtc-ocaml

"The Ray Tracer Challenge" (http://www.raytracerchallenge.com) implemented in OCaml
OCaml
15
star
23

code_slide

Generate PDF/PNG slides from source code
Ruby
12
star
24

curves

A library for interpolating various curves (bezier, cubic hermite, etc.)
Ruby
12
star
25

mazoo

An HTML5 game to test your maze navigation skills!
JavaScript
11
star
26

zing

Framework for playful maze generation (from "Twisty Little Passages" presentation at MWRC 2015)
Ruby
11
star
27

process_roulette

A silly little game that could mess up your machine pretty badly (please use a VM!)
Ruby
9
star
28

chaussettes

A thin wrapper around the sox audio manipulation utility
Ruby
9
star
29

dnd-npc

A random NPC generator for D&D 3rd edition, written in C. Includes CGI and console interfaces.
C
8
star
30

truth

A utility for displaying a truth table for an expression
Ruby
8
star
31

celtic_knot

A library for generating Celtic Knotwork designs from graphs
Ruby
8
star
32

lindy

An L-system parser and interpreter
Ruby
7
star
33

dnd-util

An encapsulation (in C) of the core logic and data of D&D, 3rd edition.
6
star
34

KSP-RealSolarSystem-Bundler

Program for bundling all needed dependencies for the "Real Solar System" mod, for Kerbal Space Program.
Ruby
6
star
35

ekawada-web

A rails application for recording, comparing, and researching string figures
Ruby
6
star
36

weekly-challenges

My submissions for the weekly programming challenges (https://medium.com/@jamis/weekly-programming-challenge-1-55b63b9d2a1)
Ruby
6
star
37

scruffy-labrador

A flexible JavaScript implementation of a grid/graph, and some maze generation algorithms
JavaScript
6
star
38

artifex

A D&D4e NPC generator
CoffeeScript
5
star
39

jamis.github.io

Basil & Fabian - A Wizard & His Man
CoffeeScript
5
star
40

hercule

A logic puzzle for PalmOS (historical interest only, mostly, unless you have a really old device)
C
5
star
41

dnd-templates

A templating system written in C. (Deprecated, obsolete, etc!)
4
star
42

sqlite-ruby

bindings for the SQLite 2.x embedded database
Ruby
4
star
43

korean-proverbs

Translations of Korean proverbs
4
star
44

runeo

An ActiveRecord-inspired wrapper for the Neo4j REST API
Ruby
4
star
45

dnd-writetem

A templating system written in C, with a stream wrapper system. (Deprecated, obsolete, etc!)
3
star
46

hangul-tools

Romanize Korean text
Ruby
3
star
47

piece-by-piece

An evidence-oriented genealogical research database, inspired by the GENTECH data model
CoffeeScript
3
star
48

tinker

CYOA-style game system inspired by Sarah Allen's "pie" project.
Ruby
3
star
49

strings2go

A string figure collection for the iPhone
Ruby
2
star
50

kincaid

A DSL for creating dungeon maps for tabletop RPG's
Ruby
2
star
51

test_session_manager

Allow tests for Rails applications to inject session data (including flash) into test requests
Ruby
1
star
52

buckblog

The Buckblog -- assorted ramblings by Jamis Buck -- http://weblog.jamisbuck.org
HTML
1
star
53

derring-do

The over-eager progress monitor for Ruby.
Ruby
1
star
54

taleswapper

A home for creating and sharing stories, with an emphasis on role-playing games
Ruby
1
star