Easy Session for Vim
Another week, another project and this time it’s actually something half decent.
After a few hours of work over the last couple of days I’m finally done with my
first plugin for Vim and I named it Easy
Session. It lets you easily
manage sessions with four commands: :SaveSession
, :NewSession
,
:OpenSession
and :ListSessions
.
:SaveSession
uses the current working directory as the default filename, so
you have to make sure that you’re in the project’s root directory if you’re
saving your session for the first time. It may not be the most ultimate
solution, but it’s better than the default filename Session.vim
. There’s also
:NewSession
which lets you use your own custom filename. The :OpenSession
,
suprisingly, opens a session.
An earlier version of it had an :Sessions
command, but it used
Netrw and was a bit too
clunky so I rewrote it as :ListSessions
, which is quite a fun hack. It
launches a new window with a temporary buffer that gets deleted as soon as it’s
closed. It gets the list by reading the content of the sessions directory with
:0read !ls
or :0read !dir /B
1. The code looks really sketchy,
but the result looks quite nice:
I don’t know if it’s useful for anyone but me, but it was a fun challenge. There’s a Session.vim plugin that has a lof more advanced features than mine do, but I think I’ll stick with my own solution for now.
-
The “
0
” makes the list start on the first line in the buffer. If just:read
is used it’ll paste the content below the first line. ↩