VimSafe is a password keeper (password vault, password safe, ...) based on Vim.
VimSafe uses the VIM builtin encryption capabilities (blowfish2).
If you want to help (and/or teach me your Vim wizardry), you are more than welcome.
- Vim 7.4.401 or later is needed to use blowfish2.
- Yankitute (Author: Idan Arye https://github.com/someboddy/)
- pwgen (optional).
Below are just some of the methods for installing VimSafe. Do not follow all of these instructions, just pick your favorite one. Other plugin managers exists, and VimSafe should install just fine with any of them.
If you are using VIM version 8 or higher you can use its built-in package management;
see :help packages
for more information. Just run these commands in your terminal:
git clone https://gitlab.com/antenore/vim-safe.git ~/.vim/pack/vendor/start/vim-safe
vim -u NONE -c "helptags ~/.vim/pack/vendor/start/vim-safe/doc" -c q
The following are some of the several 3rd-party plugin managers you can choose from. Be sure you read the instructions for your chosen plugin, as there typically are additional steps you nee d to take.
In the terminal,
git clone https://gitlab.com/antenore/vim-safe.git ~/.vim/bundle/vim-safe
In your vimrc:
call pathogen#infect()
syntax on
filetype plugin indent on
Then reload vim, run :helptags ~/.vim/bundle/vim-safe/doc/
or :Helptags
.
call vundle#begin()
Plugin 'antenore/vim-safe'
call vundle#end()
call plug#begin()
Plug 'antenore/vim-safe'
call plug#end()
apt-vim install -y https://gitlab.com/antenore/vim-safe.git
- Encryption using internal blowfish2 Vim implementation
- Auto open/close folded elements
- Motion
- Move with
<Tab> <S-Tab>
- Exit from insert mode with
<CR>
- Move with
- Insert new Item
- Place at the right place
- Hit
<F4>
- TODO: Add by Group/SubGroup/Entry in the right place automagically
- Sort entries
- Copy User/Password into the system clipboard
- Works only with +xterm_clipboard (
<F1>
<F2>
) - TODO: Add external clipboard tool support (i.e. xclip)
- Works only with +xterm_clipboard (
- Automatic password generation with
- Internal VSRandom function using /dev/urandom (this is literally amazing)
- external command pwgen
The text in the vsafe file has to be formatted in this way:
# -=# VimSafe #=->
Group.SubGroup.SubSubGroup::
User: "Raffaello"
Password: "123456789"
Url: "http://www.wtf-ftw.zz/"
Notes: ""
Group.xxx:
User:
Password:
Url:
Notes:
Group.xxx.yyy.zzz:
User:
Password:
Url:
Notes:
When you open a vsafe file all the elements, except the Groups/Subgroups, are folded and the passwords are all concealed with a *
1 # -=# VimSafe #=-
2 Group.SubGroup.SubSubGroup::
3 › User: "raffaello"
4 › Password: *
5 › Url: "http://www.aabbccddeeff.it/what/if/local?user"
6 › Notes: "Do you need this note?"
7 Group.ASubGroup::
8 +-- User: "picasso"-------------------------------
9 +-- User: "merlin"--------------------------------
10 +-- User: "obama"---------------------------------
Shortcut | Command / Description |
---|---|
<F4> |
AddVSafeEntry To add a new entry (at the moment only manual position) |
<Tab> , <S-Tab> |
VSafeNextField To move back and forward between each field |
<F8> |
VPWGen It generates a random password in the p register |
<F1>
(WIP) Copy UserName into the system clipboard (require +xterm_clipboard)<F2>
(WIP) Copy Password into the system clipboard (require +xterm_clipboard)<F4>
To add a new entry (at the moment only manual position)<F5>
To sort the whole file<F8>
Random password in the register p<Tab>
To move forward to the next field<S-Tab>
To move backwards to the previous field<CR>
To exit from insert mode
- Version : 1.0
- Author : Antenore
<antenore AT simbiosi dot org>
- License : GPLv3
VimSafe an encrypted, text-only, password keeper Copyright (C) 2014 Antenore Gatta
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.