🍱 Script to create a portable bundle of Vim environment
Switch branches/tags
Nothing to show
Clone or download
Latest commit 3f0c4fb Oct 27, 2015
Failed to load latest commit information.
README.md Fix #2 - Add --exclude option Mar 14, 2015
myvim Add support for ~/.vim/vimrc Oct 27, 2015



A script that creates a portable bundle of your Vim environment.


myvim script will create an executable named vim.$(whoami).

bash <(curl -fL https://raw.githubusercontent.com/junegunn/myvim/master/myvim)


  • -e|--edit
    • Allow you to edit the list of files to be archived and the environment variables to apply
  • -j
    • Use bzip2 instead of gzip
  • --exclude PATTERN
    • grep -v pattern for excluding files


You want your Vim settings and plugins on whichever server you connect to. But having your .vimrc on GitHub or Bitbucket is usually not enough. Because:

  • You need Git and free access to internet
  • Even when both conditions are met, downloading plugins can be time-consuming
  • When the user account on the server is shared among coworkers, you need to restore the default configuration every time when you're done

How does it work?

myvim creates a tar archive of your .vimrc and .vim directory and append it to a small bash script that starts Vim with your usual settings and plugins.


The generated script injects code for temporarily swapping $HOME variable around the vimrc in the archive. This is because most vimrcs contain references to home directory (e.g. call plug#begin('~/.vim/plugged')).