Skip to content

ibrahim317/skybison.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SkyBison for Neovim

This is a Lua rewrite of the original SkyBison Vim plugin.

Description

SkyBison is a plugin designed to make Neovim's command-line more intuitive and efficient. It provides real-time feedback and completions, reducing the number of keystrokes needed to execute commands.

SkyBison alleviates three key issues with the default command-line experience:

  1. Always-on Completions: Instead of requiring you to manually trigger completions (e.g., with <C-d>), SkyBison displays them automatically as you type.
  2. Implicit Confirmation: When your input narrows down to a single possible completion, SkyBison allows you to confirm and execute the command by simply pressing <CR>, without needing to tab-complete or finish typing.
  3. Automatic Execution: As an extension of the above, if you provide a count to the command, SkyBison can automatically execute the command as soon as it's uniquely identified, skipping the need for <CR> entirely.

For example, if you have three buffers open (.vimrc, .bashrc, and .zshrc) and you type :SkyBison b , you'll see a list of those buffers. If you then type v, SkyBison will know you mean .vimrc and will be ready to open it.

Installation

lazy.nvim

To install SkyBison using lazy.nvim, add the following to your configuration:

{
  "paradigm/skybison",
  -- If you are installing it from a local path, you can use the `dir` option:
  -- dir = "/path/to/your/local/skybison",
  opts = {
    fuzz = 1, -- 0 = none, 1 = full (default), 2 = substring
  }
}

Usage

SkyBison provides a :SkyBison command that you can map to a key of your choice. It's recommended to map it to :, so it replaces the default command-line.

vim.keymap.set("n", ":", "<Cmd>SkyBison<CR>", { noremap = true, silent = true })

You can also create more specific mappings for common commands:

-- For :b. You can prefix this with a count, e.g., 2<leader>b
vim.keymap.set("n", "<leader>b", "<Cmd>SkyBison b <CR>", { noremap = true, silent = true })

-- For :tag. You can prefix this with a count, e.g., 2<leader>t
vim.keymap.set("n", "<leader>t", "<Cmd>SkyBison tag <CR>", { noremap = true, silent = true })

Options

SkyBison is configured via the opts table in your plugin manager.

  • fuzz: Controls the fuzzy matching behavior.
    • 0: No fuzzy matching.
    • 1: Full fuzzy matching (default).
    • 2: Substring matching.

For more detailed usage instructions and a full list of keybindings, please see the original doc/skybison.txt.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages