A lightweight Neovim plugin for fast function navigation using Tree-sitter.

https://github.com/user-attachments/assets/b539c3cb-654c-435e-98ed-11bc93823e1a
| Language | File Types |
|---|---|
| JavaScript | .js |
| TypeScript | .ts |
| React (JSX/TSX) | .jsx, .tsx |
| Vue | .vue |
| Ruby | .rb |
| Other | Any language with Tree-sitter support (uses default parser) |
{
"beargruug/skipper.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter" },
config = function()
require("skipper").setup()
end,
}
Plug 'nvim-treesitter/nvim-treesitter'
Plug 'beargruug/skipper.nvim'
Then add to your config:
require("skipper").setup()
use {
"beargruug/skipper.nvim",
requires = { "nvim-treesitter/nvim-treesitter" },
config = function()
require("skipper").setup()
end,
}
Skipper.nvim comes with sensible defaults, but you can customize it:
require("skipper").setup({
win_width = 120, -- Width of the floating window
win_height = 20, -- Height of the floating window
})
| Command | Description |
|---|---|
:ShowFunctionsWindow |
Open the function navigation window |
Add a keymap to quickly open the function window:
vim.keymap.set("n", "<leader>cf", "<cmd>ShowFunctionsWindow<CR>", { desc = "Show functions" })
Or call the Lua API directly:
vim.keymap.set("n", "<leader>cf", function()
require("skipper").show_functions_window()
end, { desc = "Show functions" })
Once the function window is open:
| Key | Action |
|---|---|
j / k |
Navigate up/down the function list |
<CR> |
Jump to the selected function |
<Esc> |
Close the window |
q |
Close the window |
<C-c> |
Close the window |
Contributions are welcome! Please feel free to submit issues and pull requests.
Skipper.nvim is under active development. Feedback, issue reports, and pull requests are always welcome.
MIT