• Stars
    star
    162
  • Rank 231,036 (Top 5 %)
  • Language
    Vim Script
  • Created over 10 years ago
  • Updated over 2 years ago

Reviews

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

Repository Details

A VINE-spired (Vim Is Not Emacs) file system explorer.

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.

More Repositories

1

vim-buffergator

Vim plugin to list, select and switch between buffers.
Vim Script
497
star
2

vim-pythonsense

A Vim plugin that provides text objects and motions for Python classes, methods, functions, and doc strings.
Vim Script
211
star
3

vim-indentwise

A Vim plugin for indent-level based motion.
Vim Script
210
star
4

DendroPy

A Python library for phylogenetic scripting, simulation, data processing and manipulation.
Python
204
star
5

Syrupy

System Resource Usage Profiler
Python
194
star
6

vim-markology

Vim mark visualization, navigation and management
Vim Script
72
star
7

vim-buffersaurus

Vim plugin to search, index, and navigate buffer content using regular expression patterns.
Vim Script
42
star
8

cmake-pandocology

Compile documents using Pandoc under the CMake build system
CMake
38
star
9

vim-nefertiti

Dark-background Vim Color Scheme with Dynamic Brightness Control (GUI-only)
Vim Script
31
star
10

fuzzysnake

Find, list, filter, and edit or otherwise act on files from the terminal using fuzzy-matching or regular expressions.
Python
28
star
11

GitCommandsDashboardWidget

OS X Dashboad Widget listing Git commands and usage.
JavaScript
18
star
12

vim-filesearch

Vim plugin for searching the local filesystem for files by name or content, using glob or regular expression patterns.
Vim Script
14
star
13

vim-gazetteer

Semantic location information for Vim.
Vim Script
10
star
14

YonderGit

Simplified Git Remote Repository Management
Python
9
star
15

vim-python-indent-black

Vim Script
8
star
16

quickfix-rex.nvim

Lua
8
star
17

delineate

Package for species delimitation analysis
Python
7
star
18

promptitude

A shell prompt with an attitude: enhanced (BASH) shell prompt with VCS (Git) branch and status information.
Shell
7
star
19

telescope-grab-lines.nvim

Lua
6
star
20

ToggleCrypt

AES/Rijndael encryption/decryption of files; provides for temporary unlocking of files for editing.
Python
6
star
21

2015-SSB-AnnArbor-Biogeography

R
5
star
22

telescope-rtp

Lua
5
star
23

telescope-buffer-lines.nvim

Find lines from across all open buffers and insert selected into current buffer.
Lua
5
star
24

GDBCommandsDashboardWidget

OS X Dashboard Widget for GNU Debugger Commands
JavaScript
5
star
25

obsidian-bibliosidian

TypeScript
5
star
26

obsidian-impresario

TeX
5
star
27

treeshrew

C++
3
star
28

Archipelago1

Simulation of island diversification patterns using a spatially-explicit birth-death branching process in a virtual landscape with islands, carrying capacities, different dispersal probabilities, etc.
Python
3
star
29

distriscopia

Probability distribution visualization
JavaScript
3
star
30

vim-linearly

A Vim plugin providing operators to manipulate line units: split text into natural language sentence lines or on arbitrary regular expressions; join lines with optional delimiters.
Vim Script
2
star
31

PySeqGen

Wrapper around Seq-Gen molecular sequence generator
Python
2
star
32

tutorials_cheatsheets

Collection of cheatsheets and tutorials for various software and tools
R
2
star
33

jdalias

Jump to Aliased Directory: An aliased-directory command-line navigation system. Manages a set of user-specified aliases pointing to directories tha allow the user to "jump" from one directory to another using very quickly and efficiently.
Python
2
star
34

Ginkgo

Forward-time spatially-explicit agent-based simulations of phylogeographic history over dynamic landscapes and environments.
C++
2
star
35

ctrlp-pythonic.vim

Python code navigation extension for the CtrlP Vim plugin
Vim Script
1
star
36

possum

Multi-population molecular population genetic summary statistic calculation utility
Shell
1
star
37

archipelago

R
1
star
38

obsidian-vault-configuration

JavaScript
1
star
39

pikun

An information theoretic toolkit for analysis and visualization of species delimitation model space.
Python
1
star
40

nexmlvalidator

Stand-alone Self-contained NeXML Validation Utility
Java
1
star
41

vim-pandoctitude

Equipping Your Vim With a Pandoc Attitude!
Vim Script
1
star
42

piikun

Species delimitation partition model space analysis and visualization.
Python
1
star
43

Arroyo-of-Sun-and-Moon

CSS
1
star