Skip to content

Latest commit

 

History

History
84 lines (63 loc) · 2.34 KB

README.md

File metadata and controls

84 lines (63 loc) · 2.34 KB

VIM ProSession v0.7.3

A VIM plugin to handle sessions like a pro.

It leverages vim-obsession and allows switching between multiple sessions cleanly, the idea is to maintain one session per project (directory) and switch between them when we need to switch context, automatically loading along with it the various files, settings etc ensuring compete isolation between projects. Now there's little need to launch multiple vim instances for separate sessions (projects), you can simply switch between them with ease.

ProSession uses a file name format similar to the undofile name format. :Prosession provides existing session paths from the sessions directory from g:prosession_dir (set to ~/.vim/session/ by default) or also completes paths from the file system which you can use to start new sessions for them. For more details check :help prosession.

Prosession also provides a telescope extension, to list and switch to other sessions with Telescope, you can use Telescope prosession and that launches telescope picker with list of all existing sessions that you can find through and select to switch to it

Change Log

See CHANGELOG.md

Requirements

Vim ProSession depends on tpope/vim-obsession

Installation

  1. With NeoBundle:
NeoBundle 'dhruvasagar/vim-prosession', {'depends': 'tpope/vim-obsession'}
  1. With Vundle
Plugin 'tpope/vim-obsession'
Plugin 'dhruvasagar/vim-prosession'
  1. With Pathogen
cd ~/.vim/bundle
git clone git://github.com/tpope/vim-obsession.git
git clone git://github.com/dhruvasagar/vim-prosession.git
  1. With Lazy

Standalone

{
  "dhruvasagar/vim-prosession",
  dependencies = {
    "tpope/vim-obsession",
  },
}

Or, directly use with telescope as an extension

{
  "nvim-telescope/telescope.nvim",
  dependencies = {
    "tpope/vim-obsession",
    "dhruvasagar/vim-prosession",
  },
  config = function()
    local telescope = require("telescope")

    telescope.load_extension("prosession")
    vim.keymap.set("n", "<leader>fp", "<cmd>Telescope prosession<cr>", { desc = "Find projects" })
  end
}