sponsor Vim development Vim logo Vim Book Ad

vim-workspace : Automated Vim session management and file auto-save

 script karma  Rating 310/121, Downloaded by 6931  Comments, bugs, improvements  Vim wiki

created by
Thaer Khawaja
 
script type
utility
 
description
The latest version can be found in the vim-workspace GitHub repository:
https://github.com/thaerkh/vim-workspace

Demo:
https://raw.githubusercontent.com/thaerkh/vim-workspace/master/wiki/screenshots/demo.gif

Contents:  
1.   Workspace Sessions  
1.1. Hidden Buffers      
1.2. Undo History        
1.3. Omni Completion    
2.   Autosave            
2.1. Untrailing Spaces  
2.2. Autosave Ignore List


For details and configuration options on each feature, please refer to GitHub repo linked above, or the README.md file in the latest package listed below.
 
install details
Plugin managers are recommended, such as Plug or Vundle, which directly pull from the git repo for the latest version. Installation instructions for such plugins are available in the README.md file.
Any configuration available is also documented in the README.md file.

For those that prefer a static variant, decompress the archive's folder content into your ~/.vim directory, which should place the plugin into the path ~/.vim/plugin/workspace.vim
 

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
vim-workspace-1.8.3.tar.gz 1.8.3 2017-08-13 8.0 Thaer Khawaja Includes various functionality tweaks for the autosave feature.
vim-workspace-1.8.2.tar.gz 1.8.2 2017-03-11 8.0 Thaer Khawaja Changes:
sessions won't load if vim is being opened with stdin.
Autocommand trigger threshold is lowered to be more responsive.
Include nerdtree filetypes in autosave ignore defaults.
vim-workspace-1.8.1.tar.gz 1.8.1 2017-02-16 8.0 Thaer Khawaja Release notes:
Pulled sensible settings as a feature.
Fix session load flicker issue (set nocompatible before session load).
Set any user defined autoread value after turning autosave off.
vim-workspace-1.8.0.tar.gz 1.8.0 2017-02-13 8.0 Thaer Khawaja Separate indent guides feature into its own plugin.
vim-workspace-1.7.3.tar.gz 1.7.3 2017-02-13 8.0 Thaer Khawaja Release notes:
- Add ToggleAutosave option.
- Add option to to always have autosave on (including when not in a session).
- bug fix: don't autosave when popup menu is visible (preview buffer updates trigger BufLeave autocommand).
- bug fix: CloseHiddenBuffers command now uses wipe instead of delete (fully removes buffers).
vim-workspace-1.7.2.tar.gz 1.7.2 2017-02-04 8.0 Thaer Khawaja More updates to indent guides feature:
Fix edge case with toggles (when not enabled by default, toggles wouldn't work).
Syntax match in a more friendly way (plays nicely with external plugins that might work on the same syntax group).
Add option for first level of indent guides (default to 0).
vim-workspace-1.7.1.tar.gz 1.7.1 2017-02-02 8.0 Thaer Khawaja Bug fix: Handle edge cases where indent guides won't toggle correctly if a buffer's opened in multiple windows. Syntax matches are ensured to be loaded, including colorscheme changes.
vim-workspace-1.7.0.tar.gz 1.7.0 2017-02-01 8.0 Thaer Khawaja New feature: optional indent guides (with ignore list) - cleanly distinguish tabs from space indents.
Bug fix: don't try to autosave read-only files.
Bug fix: Fixed issue where terminals with focus triggers could trigger autosave (and fail) if switching between windows in command mode.
vim-workspace-1.6.3.tar.gz 1.6.3 2017-01-29 7.0 Thaer Khawaja Release notes:

Feature: Autosave invokes BufWritePost and the frequency can be modulated. This is great for allowing autocommands to trigger on a workspace autosave (i.e. triggering Neomake linting plugin).
Feature: Add autosave ignore list, with gitcommit and gitrebase as default.

Merged feature: Autosave ignore list is also used to disable loading of workspaces for a loaded filetype in the set (i.e. git commit files won't be merged with workspaces).
Merged feature: Add the ability to autocreate workspaces. This is disabled by default, but can be enabled if it's a preferred behaviour.

Bug fix: '\\s' includes tabs and trailing tabs were also being removed, which is unsafe for any tab-separated files.
vim-workspace-1.6.2.tar.gz 1.6.2 2017-01-21 8.0 Thaer Khawaja - Last writer wins in workspaces: if multiple Vim sessions have the same files open at the same time, this ensures that there's no clobbering of data and files update seamlessly between the two instances.
- FocusGained and FocusLost will now trigger file autosave (and/or sync) when in/out of editor focus.
- Bug fix: fixed sporadic redraw issue coming from toggling a workspace off.
- Bug fix: typo in a variable that meant autosave could persist outside the confines of a workspace session.
vim-workspace-1.6.1.tar.gz 1.6.1 2017-01-16 8.0 Thaer Khawaja Minor updates to omni completion:
- Have a better popup menu with completeopt settings (menuone,longest,preview)
- Should only close preview windows on InsertLeave and not immediately after a selection is made as the documentation can be a useful reference while completing a function.
vim-workspace-1.6.0.tar.gz 1.6.0 2017-01-14 8.0 Thaer Khawaja ** New feature: Omni completion.
- Vim comes bundled with the SyntaxComplete plugin since 7.2. This functionality is now enabled by default (default shortcut remains as <C-x><C-o>).
- Plugin feature added that will automatically remove the function preview window once an omni completion selection has been made.

- Workspace plugin now does a nested autocommand session load, and depends on the vimrc options to re-populate session settings. This statelessness enables any vimrc changes to be reflected when an old session is reloaded, and it also plays nicely with plugins such as Airline that depend on internal state to redraw properly.
vim-workspace-1.5.0.tar.gz 1.5.0 2017-01-11 8.0 Thaer Khawaja - Updates to sensible settings: swapsync="" and up the updatetime frequency by default.
- Cleaner way of deleting session files.
vim-workspace-1.4.9.tar.gz 1.4.9 2017-01-08 8.0 Thaer Khawaja Several updates to sensible settings, and cleaned up unnecessary autosave triggers.
- Disable Ex mode, remove hidden, and remove included files from complete (sensible/faster with path+=** and included tags).
- BufLeave is sufficient for autosave with respect to TabLeave and WinLeave triggers, hence both can be safely removed.
vim-workspace-1.4.8.tar.gz 1.4.8 2016-12-31 8.0 Thaer Khawaja Add in more intelligent file argument loading - no more prompts!
Highlights:
- If Vim is run with a file argument and it's already in the directory workspace, you'll be redirected to the tab window that contains it. Otherwise, the file will be loaded in a new tab.
- Also save sessions on BufEnter triggers just in case Vim exits unexpectedly.
- Fix issue where Vim can run without ever hitting VimEnter trigger. This can occur when Vim's being executed to run a command and immediately exit.
- Guard CursorHold trigger against any updatetime < 1000 that might be set by the user or other plugins.
vim-workspace-1.4.7.tar.gz 1.4.7 2016-12-29 8.0 Thaer Khawaja Guard CursorHold trigger against any updatetime < 1000.
Simplify prompt string and Simplify prompt string.
vim-workspace-1.4.0.tar.gz 1.4.0 2016-12-28 8.0 Thaer Khawaja Add the option for including common sensible settings.
vim-workspace-1.3.2.tar.gz 1.3.2 2016-12-28 8.0 Thaer Khawaja Include feature to trim trailing spaces on autosave.
vim-workspace-1.3.0.tar.gz 1.3.0 2016-12-27 8.0 Thaer Khawaja Add workspace file autosave feature.
ip used for rating: 18.218.254.122

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
Vim at Github