Simple project tool for Vim
Vim script
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit ahead, 3 commits behind tdavis:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This mirrors the content on

script type



Proj lets you save settings for your project in a simple file.


  • :Proj - Open project named (tab-completes).
  • :ProjAdd - Prompts to add a new project in the current directory.
  • :ProjFile - Open the project file in a split>
  • :ProjInfo - Show all of the current project's settings in the status line.
  • :ProjMenu - Open a menu with all of these commands.
  • :ProjNotes - Open the project notes file in a split.
  • :ProjOpen - Prompt to open a project.
  • :ProjOpenTab - Prompt to open a project for the open tab. Projects opened this way will only be active in the opened tab, so that each tab can contain a project.
  • :ProjRefresh - Reload the current project.
  • :ProjReload - Reload the project file.
  • :ProjVim - Open the project's vim settings file in a split.

File Syntax

DOS .ini

Available Settings

  • browser - A custom command for the filebrowser
  • notes - Path to a text file with project notes
  • path - Path to the project root directory
  • vim - Path to a file with vim commands
  • docksend - Upload all files in the project on save if the TransmitFtp plugin is available

Sample Project File

; This is a comment
path = /path/to/project
vim = /path/to/settings_file.vim
docksend ; boolean option

path = /path/to/my\ project ; Escape spaces with \

Global Options

  • g:ProjDisableMappings (default: 0) - Set to 1 to turn off all mappings defined by this plugin
  • g:ProjFile (default: '~/.vimproj') - Path to the project file.
  • g:ProjFileBrowser (default: 'NERDTree') - The filebrowser command. Set to 'off' to not open a filebrowser.
  • g:ProjMapLeader (default: 'p') - The prefix for default mappings
  • g:ProjNoteFile (default: 'notes.txt') - Path to the project notes file
  • g:ProjSplitMethod (default: 'vsp') - Command to use when opening a file with a Proj command such as ProjFile.

Default maps

These are all prefixed with g:ProjMapLeader by default.

  • g:ProjAddMap (default: 'a') - Calls :ProjAdd
  • g:ProjFileMap (default: 'f') - Calls :ProjFile
  • g:ProjInfoMap (default: 'i') - Calls :ProjInfo
  • g:ProjMenuMap (default: 'm') - Calls :ProjMenu
  • g:ProjNotesMap (default: 'n') - Calls :ProjNotes
  • g:ProjOpenMap (default: 'o') - Calls :ProjOpen
  • g:ProjOpenTabMap (default: 't') - Calls :ProjOpenTab
  • g:ProjReloadMap (default: 'r') - Calls :ProjReload
  • g:ProjVim (default: 'v') - Calls :ProjVim

install details

  1. Extract the downloaded proj.tbz file
  2. Copy proj/doc/proj.txt to .vim/doc/proj.txt
  3. Copy proj/plugin/proj.vim to .vim/plugin/proj.vim
  4. Run :helptags ~/.vim/doc to load the documentation
  5. Create a file at ~/.vimproj or your custom g:ProjFile location with your projects