Fetch that line and column, boy!
vim-fetch enables Vim to process line and column jump specifications in file paths as found in stack traces and similar output. When asked to open such a file, in- or outside Vim or via gF
, Vim with vim-fetch will jump to the specified line (and column, if given) instead of displaying an empty, new file.
If you have wished Vim would have a better understanding of stack trace formats than what it offers out of the box, vim-fetch is for you.
Usage
vim path/to/file.ext:12:3
in the shell to openfile.ext
on line 12 at column 3:e[dit] path/to/file.ext:100:12
in Vim to editfile.ext
on line 100 at column 12gF
with the cursor at^
onpath/to^/file.ext:98,8
to editfile.ext
on line 98, column 8gF
with the selection|...|
on|path to/file.ext|:5:2
to editfile.ext
on line 5, column 2
Besides the GNU colon format, vim-fetch supports various other jump specification formats, including some that search for keywords or method definitions. For more, see the documentation.
Rationale
Quickly jumping to the point indicated by common stack trace output should be a given in an editor; unluckily, Vim has no concept of this out of the box that does not involve a rather convoluted detour through an error file and the Quickfix window. As the one plug-in I found that aims to fix this, Victor Bogado’s file_line, had a number of issues (at the time of this writing, it didn’t correctly process multiple files given with a window switch, i.e. -o
, -O
and -p
, and I found it choked autocommand processing for the first loaded file on the arglist), I wrote my own.
Installation
- The old way: download and source the vimball from the releases page, then run
:helptags {dir}
on your runtimepath/doc directory. Or, - The plug-in manager way: using a git-based plug-in manager (Pathogen, Vundle, NeoBundle etc.), simply add
kopischke/vim-fetch
to the list of plug-ins, source that and issue your manager's install command.
License
vim-fetch is licensed under the terms of the MIT license according to the accompanying license file.