Skip to content

donaldducky/related.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

related.vim

A vim plugin for opening a related file based on the file path.

Installation

I prefer to use Vundle but it's just as easy using other methods.

Vundle

Install Vundle, following the instructions.

Add the Bundle to your vimrc:

Bundle 'donaldducky/related.vim'

Then run the BundleInstall from the command line:

vim +BundleInstall +qall

Pathogen

If you use pathogen.vim, you can just clone the repo, manually.

git clone https://github.com/donaldducky/related.vim ~/.vim/bundle/related.vim

Commands

There are two commands currently exposed:

  1. :RelatedFile - Opens the related file in a vertical split. Optionally accepts an argument to open the related file using other methods:
  • :RelatedFile e opens using :e[dit] command in the current window
  • :RelatedFile sp opens using :sp[lit] command in a horizontal split window
  • :RelatedFile vs opens using :vs[plit] command in a vertical split window
  1. :RelatedTests - Runs the unit tests for the plugin.

Workflow

  1. Open a source file.
  2. Hit a key to open the related test file.

I bind the :RelatedFile command to a <leader> mapping in my .vimrc:

" Open the related file using ,rf
let mapleader = ","
let g:mapleader = ","
map <Leader>rf :RelatedFile<CR>
map <Leader>re :RelatedFile e<CR>
map <Leader>rs :RelatedFile sp<CR>

Inspiration

I spend far too much time navigating/opening related files that are easy to determine programmatically.

Creating a vim plugin would be the best way to do it but I didn't know how...luckily I stumbled across a post that was created to achieve the same thing:

Optimize Your TDD Workflow by Writing Vim Plugins

It was a good basis for showing me how to create a vim plugin and seeing how little code it was made me dive in.

About

Open a related file based on the path.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published