Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quicksilver

A minimal, fast Neovim configuration built for developers

Neovim

Features

  • Fast & Minimal - Lightweight config with only essential plugins
  • LSP Support - Built-in language server support via mason.nvim + nvim-lspconfig
  • Fuzzy Finding - Telescope integration for fast file search
  • Terminal Integration - betterTerm with opencode CLI support
  • File Explorer - Oil.nvim for modern file navigation
  • Autocomplete - nvim-cmp with LSP snippets
  • Inline Diagnostics - lspsaga for VSCode-like error display
  • Beautiful Theme - Kanagawa color scheme

Keybindings

General

Key Action
Esc Clear search highlight
qw Exit insert/visual mode
<C-h/j/k/l> Navigate windows
<leader>w Save file
<leader>q Quit
<C-w>z Maximize/restore pane

Terminal

Key Action
<leader>tn Spawn new terminal
<leader>tl List all terminals
<leader>to Toggle opencode terminal (vertical)
<leader>tv Toggle shell vertical
<leader>th Toggle shell horizontal
<leader>tt Toggle shell in new tab
<leader>tg Toggle LazyGit
<space>gg Open LazyGit (alternative)
<C-t> Toggle betterterm visibility
<C-t>n New terminal tab (betterterm)
<C-u> Cycle terminals right (in terminal)
<C-y> Cycle terminals left (in terminal)
<C-d> Close terminal (in terminal)

Telescope

Key Action
ff Find files
<leader>fb Buffers
<leader>fg Live grep
<leader>fh Help tags
<leader>fr Recent files
<leader>rc Commands picker
<C-w>F Find & open in vertical split
<C-w>s Find & open in horizontal split

VSCode Style (macOS Cmd)

Key Action
<D>p Find files (Cmd+P)
<D-S>p Commands picker (Cmd+Shift+P)

File Explorer

Key Action
<leader>e Open Oil file explorer

Installation

# Clone the repository
git clone https://github.com/GOI17/quicksilver.git ~/Documents/workspace/quicksilver

# Run setup
cd ~/Documents/workspace/quicksilver
./setup.sh

# Start Neovim
quicksilver

# Install language servers
:Mason

Requirements

  • Neovim 0.11+
  • Git
  • ripgrep (for live grep)
  • Optional: node, python, rust, go for LSP support

Plugins

License

MIT License - See LICENSE for details.

Testing

This project uses busted for testing Neovim Lua code.

Run Tests

# From within Neovim
:PlenaryBustedDirectory tests/ {minimal_init = 'tests/minimal_init.lua'}

# Or using busted directly
busted tests/

Test Structure

  • tests/ - Test files following *_spec.lua naming convention
  • tests/minimal_init.lua - Minimal Neovim init for headless testing
  • tests/init.lua - Test helpers and utilities

Adding Tests

  1. Create a new file in tests/ with _spec.lua suffix
  2. Follow the pattern of existing tests:
describe("module_name", function()
  before_each(function()
    package.loaded["quicksilver.module_name"] = nil
  end)

  it("should do something", function()
    require("quicksilver.module_name")
    -- assertions here
  end)
end)

Made with ❤️ by GOI17

About

A minimal, fast Neovim config built for developers - featuring LSP, fuzzy finding, terminal integration, and a clean workflow

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages