Vim-fetch
Fetch that line and column, boy!
Intro
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][doc].
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 that aimed to fix this, Victor Bogado’s [file_line][bogado-plugin], 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
][bogado-issue-winswitch] and [-p
][bogado-issue-tabswitch], and as it choked autocommand processing for the first loaded file on the arglist), vim-fetch was born.
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
wsdjeg/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.