Skip to content
A VINE-spired (Vim Is Not Emacs) file system explorer.
Vim script
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
autoload Restore title string on closing viewer Aug 8, 2017
doc Resolve conflict Jul 19, 2016
plugin Added ability to redefine default statusline Jul 19, 2016
.gitattributes Initial commit May 31, 2014
README.md Remove quotes around keybindings in README Nov 3, 2017

README.md

FileBeagle

FileBeagle screen

Introduction

FileBeagle is a utility to display a directory listing and select a file for editing. You can change directories and, if necessary, create new files. Files can be opened in new splits or tabs, and new directory catalogs can be spawned.

And that is about it.

FileBeagle is "VINE-spired": that is, inspired by the design principle of "Vim Is Not Emacs".

Vim is a text editor, not an operating system that can edit text. FileBeagle respects this, and attempts to conform to this both in spirit and in practice.

If you are looking for a plugin to serve as a filesystem manager from within Vim, FileBeagle is not it. FileBeagle does not support copying, deleting, moving/renaming, or any other filesystem operations. FileBeagle lists and opens files.

If you are looking for a plugin to replicate an operating system shell in Vim, FileBeagle is not it. FileBeagle does not support grep-ing, find-ing, or any of other the other functionality provided by (the excellent) programs in your operating system environment dedicated to these tasks. FileBeagles lists and opens files.

If you are looking for a plugin that makes Vim resemble some bloated bells-and-whistles IDE with a billion open "drawers", panels, toolbars, and windows, FileBeagle is not it. FileBeagle does not provide for fancy splits or project drawers. FileBeagle lists and opens files.

Overview of Basic Usage

Type - to open the FileBeagle directory viewer on the directory of the current buffer. Alternatively, you can use <Leader>f to open the FileBeagle directory viewer on the current working directory. This latter key is mapped to the command :FileBeagle: if the command is used directly, it can actually take an optional argument which specifies the path of the directory to open instead of the current working directory.

In either case, once a directory viewer is open, you can use any of your normal navigation keys/commands to move to a file or directory of your choice. Once you have selected a file or directory, you can type <ENTER> or o to open it for editing in the current window. Or you can type CTRL-V to edit it in a new vertical split, CTRL-S to edit it in a new horizontal split, or CTRL-T to edit it in a new tab. Even better, if you make sure that line numbers are enabled, you can simply type the line number followed by o or any of the other maps to instantly open the file or directory listed at the given line number. So, for example, 42o will open the file or directory at line 42 in the same window, while 42v will open it in a new vertical split, and 42t will open it in a new tab, etc.

You can navigate to a directory by selecting it using the same key maps that you use to select files. In addition, you can use - to go a parent directory or backspace (<BS>) to go back to the previous directory.

For each independent invocation of FileBeagle, it remembers the entry which you last selected in each directory as your enter or leave directories. Each time you return to a directory that you have visited before, the cursor is automatically placed at the entry which you selected the just before leaving that directory. This means that you can quickly traverse up and down a directory chain by typing - and/or <ENTER>. Use - to move up and up, until you get to the root, and then <ENTER> to drill seamlessly back down the same path you just traversed until you hit the file from which you came. Once you have tried it, you will not want to traverse directories in any other way (well, except for fuzzy-querying to "teleport" you directly where you want to go).

The only file management functionality provided is to create a new file (% or +). For everything else, use the operating system.

At any time, you can type q to close FileBeagle and restore the previous buffer.

Acknowledgements

FileBeagle is inspired by Tim Pope's Vinegar plugin for Vim, which, in turn, was inspired by Drew Neil's assertion that "project drawers" are unidiomatic in Vim.

You can’t perform that action at this time.