about summary refs log tree commit diff
path: root/usbify/vim/vim_point_to_usb.sh
blob: e2faa9d9bf6dad66f5054dc035a5fae7c02af023 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env bash

path_to_ext_device="/Volumes/usb_vim"

# This script toggles between local vim and a version that can be stored on an 
# external device like a USB.

if [ -L "$HOME/.vim" ]; then
  echo "Pointing to USB. Toggling back to local machine..."

  # remove the symlink and .vimrc
  rm "$HOME/.vim"

  # remove the USB's version of the .vimrc and use the backed-up copy
  rm "$HOME/.vimrc"
  mv "$HOME/.vimrc.bak" "$HOME/.vimrc"

  # rename the .vim.bak directory
  mv "$HOME/.vim.bak" "$HOME/.vim"

  echo ".vim now points to $HOME/.vim"
else
  echo "Pointing to local machine. Toggling to USB..."

  # rename the current .vim directory and .vimrc
  mv "$HOME/.vim" "$HOME/.vim.bak"
  mv "$HOME/.vimrc" "$HOME/.vimrc.bak"

  # point the $HOME/.vim name to the USB for source routing
  # use the USB drive's copy of .vimrc
  ln -s "${path_to_ext_device}/.vim" "$HOME/.vim"
  ln -s "${path_to_ext_device}/.vimrc" "$HOME/.vimrc"

  echo ".vim now points to ${path_to_ext_device}/.vim"
fi

echo "Done."