
A motion plugin for file jumping. Hop to file paths, not words.
https://github.com/user-attachments/assets/87b91299-bcf1-49af-95a4-be09752766ba
The small delay while making mark, is just my typing was delayed to think which action will be attractive to users.
https://github.com/user-attachments/assets/1d9a2055-e67f-4663-9e1d-d21d09817dca
You're in a terminal buffer. A test fails. The error shows src/utils/parser.lua:42:15.
With other plugins? Copy the path, switch windows, open file, go to line, find column.
With warp.nvim? Press one key, type the hint, you're there.
Error: assertion failed
--> src/utils/parser.lua:42:15 [a] <- hint appears here
expected: true
got: false
warp.nvim works on every file-like or link-like path visible in the buffer. That includes:
~/jira-task/, /tmp/, another repo)So you can jump to external files and links without leaving the editor or copying paths.
Examples:
Jira / task notes outside the repo
You use a skill like /jira-task so Claude Code (or similar) writes notes under ~/jira-task/. When the assistant prints paths like ~/jira-task/PROJ-123.md, you stay in your repo workspace but can jump to that file with warp — no need to cd or open another window.
PR / branch URLs after creating a PR
After asking the assistant to open a PR, it may print the PR URL (e.g. https://github.com/owner/repo/pull/42). With warp you can jump to that URL (opens in browser) or to any file path it shows — all from the same buffer.
file.lua:42 and file.lua:42:15 patterns, jumps to exact position[text](target) links including anchor links in .md files (hints shown in orange)S or V to open in split windows| Type | Color | Example |
|---|---|---|
| File path | Blue | src/utils.lua:42:15 |
| URL | Green | https://example.com |
| Markdown link (anchor) | Orange | [Demo](#demo) |
{
"nolleh/warp.nvim",
config = true, -- Default keymap: <leader>w
-- Or customize:
-- config = function()
-- require("warp").setup({
-- default_keymap = "<leader>wf", -- or false to disable
-- })
-- end,
keys = { "<leader>w" }, -- your binding key (trigger lazy loading)
}
use {
"nolleh/warp.nvim",
config = function()
require("warp").setup()
end
}
<leader>w (default) or run :WarpThat's it. No configuration needed.
Open files in split windows by prefixing the hint with uppercase S or V:
| Input | Action |
|---|---|
a |
Open in current window (edit) |
Sa |
Open in horizontal split |
Va |
Open in vertical split |
Default keymap is <leader>w. You can customize or disable it:
require("warp").setup({
default_keymap = "<leader>wf", -- Custom keymap
-- default_keymap = false, -- Disable default keymap
})
MIT