Drop support for project USBify
The original idea was to have all of my configuration available on a USB drive that would bootstrap itself when connected to a Mac. While this is pretty cool from a Hollywood, hacker-porn standpoint, it is less desirable to me due to its dependencies. Docker may be the better path forward.
This commit is contained in:
parent
412aee4574
commit
9ab630f8cf
14 changed files with 0 additions and 608 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "usbify"]
|
||||
path = usbify
|
||||
url = https://github.com/wpcarro/usbify.git
|
|
@ -1,7 +1,6 @@
|
|||
[user]
|
||||
name = William Carroll
|
||||
email = wpcarro@gmail.com
|
||||
signingkey = C7A53CC58D3B1F8C
|
||||
[alias]
|
||||
recent = for-each-ref --count=10 --sort=-committerdate refs/heads/ --format=\"%(refname:short)\"
|
||||
today = ! git log --date=relative --since=00:00:00 --all --no-merges --oneline --author=\"$(git config --get user.email)\"
|
||||
|
@ -9,10 +8,6 @@
|
|||
conflicts = diff --name-only --diff-filter=U
|
||||
yday = ! git log --name-only --since=yesterday.midnight --until=today.midnight --author=\"$(git config --get user.email)\"
|
||||
patch-grep = log -p -S
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[gpg]
|
||||
program = gpg2
|
||||
[credential]
|
||||
helper = osxkeychain
|
||||
[push]
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
if [ -d /Volumes/usb_vim ] && \ # usb has mounted
|
||||
[ ! -L "$HOME/.vimrc" ] && \ # .vimrc is a symlink
|
||||
[ ! -L "$HOME/.vim" ]; then # .vim dir is a symlink
|
||||
. "/Volumes/usb_vim/vim/vim_point_to_usb.sh"
|
||||
. "$HOME/pc_settings/launchd_scripts/notice.sh"
|
||||
else
|
||||
. "$HOME/pc_settings/launchd_scripts/notice_2.sh"
|
||||
fi
|
||||
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
# Unload scripts in case there have been changes since it was last loaded.
|
||||
echo -n "Unloading personal *.plist files... " &&
|
||||
launchctl unload ~/Library/LaunchAgents/watch_volumes.plist &&
|
||||
echo "Done." || echo "Error."
|
||||
|
||||
|
||||
# Remove *.plist symlinks created last time.
|
||||
echo -n "Removing *.plist symlinks... " &&
|
||||
rm ~/Library/LaunchAgents/watch_volumes.plist &&
|
||||
echo "Done." || echo "Error."
|
||||
|
||||
|
||||
# Process the *.tpl files, replacing global identifiers with the values
|
||||
# from vars.json.
|
||||
echo -n "Processing *.tpl files... " &&
|
||||
. ./process_files.sh &&
|
||||
echo "Done." || echo "Error."
|
||||
|
||||
|
||||
# Recreate those symlinks.
|
||||
echo -n "Recreating *.plist symlinks to ~/Library/LaunchAgents ... " &&
|
||||
ln -s ~/pc_settings/launchd_scripts/watch_volumes.plist \
|
||||
~/Library/LaunchAgents/watch_volumes.plist &&
|
||||
echo "Done." || echo "Error."
|
||||
|
||||
|
||||
# Reload scripts in case there have been changes since it was last loaded.
|
||||
echo -n "Reloading personal *.plist files... " &&
|
||||
launchctl load ~/Library/LaunchAgents/watch_volumes.plist &&
|
||||
echo "Done." || echo "Error."
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
osascript -e "tell Application \"System Events\" to display alert\
|
||||
\"New volume mounted.\""
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
osascript -e "tell Application \"System Events\" to display alert\
|
||||
\"Not going to switch!\""
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This script processes certain files and replaces
|
||||
# {{<IDENTIFIER>}} with the entries in vars.json
|
||||
|
||||
output_path="./watch_volumes.plist"
|
||||
template_file="watch_volumes.plist.tpl"
|
||||
usb_drive_path=$(jq < ./vars.json '.USB_DRIVE_PATH' | \
|
||||
sed 's/\//\\\//g' | sed 's/"//g')
|
||||
|
||||
cat "$template_file" | perl -p -e 's/(\{\{[^}]+\}\})/'$usb_drive_path'/g' \
|
||||
>"$output_path"
|
||||
|
||||
echo "Done."
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"USB_DRIVE_PATH": "/Volumes/usb_vim/"
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
|
||||
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>WatchVolumes</string>
|
||||
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/Users/wcarroll/pc_settings/launchd_scripts/attempt_vim_switch.sh</string>
|
||||
</array>
|
||||
|
||||
<key>WatchPaths</key>
|
||||
<array>
|
||||
<string>/Volumes/usb_vim/</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
|
||||
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>WatchVolumes</string>
|
||||
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/Users/wcarroll/pc_settings/launchd_scripts/attempt_vim_switch.sh</string>
|
||||
</array>
|
||||
|
||||
<key>WatchPaths</key>
|
||||
<array>
|
||||
<string>{{USB_DRIVE_PATH}}</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
2
usbify/.gitignore
vendored
2
usbify/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
|||
.DS_Store
|
||||
*.swp
|
|
@ -1,55 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This script is used to ensure the USB has the latest code from the repository.
|
||||
|
||||
# Update the following values to reflect the locations of each directory on your
|
||||
# particular machine.
|
||||
path_to_local_repo="$HOME/pc_settings" # path to git repo
|
||||
path_to_ext_device="/Volumes/usb_vim" # path to USB device
|
||||
|
||||
|
||||
if [ ! -d "$path_to_ext_device" ]; then
|
||||
echo "No external device found at ${path_to_ext_device}." && \
|
||||
echo "Make sure the values input within update.sh are correct." && \
|
||||
echo "path_to_ext_device: $path_to_ext_device" && \
|
||||
echo "Exiting." && return 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$path_to_local_repo" ]; then
|
||||
echo "No repository found at ${path_to_local_repo}." && \
|
||||
echo "Make sure the values input within update.sh are correct." && \
|
||||
echo "path_to_local_repo: $path_to_local_repo" && \
|
||||
echo "Exiting." && return 1
|
||||
fi
|
||||
|
||||
|
||||
# Update the local copy of the repo.
|
||||
echo -n "Updating pc_settings..." && \
|
||||
pushd "$path_to_local_repo" >/dev/null && \
|
||||
git pull origin master >/dev/null
|
||||
|
||||
if [ ! "$?" -eq 0 ]; then
|
||||
echo "Error: git pull error. Exiting." && \
|
||||
return 1
|
||||
else
|
||||
echo "Done."
|
||||
fi
|
||||
|
||||
|
||||
# Copy vim directory to USB device.
|
||||
echo -n "Copying files to external device..." && \
|
||||
pushd "$path_to_ext_device" >/dev/null && \
|
||||
rm -rf "${path_to_ext_device}/vim" &>/dev/null && \
|
||||
cp -r "${path_to_local_repo}/usbify/vim" "${path_to_ext_device}/vim" \
|
||||
&>/dev/null && \
|
||||
|
||||
if [ ! "$?" -eq 0 ]; then
|
||||
echo "Error: rm or cp error. Exiting." && \
|
||||
return 1
|
||||
else
|
||||
echo "Done."
|
||||
fi
|
||||
|
||||
|
||||
# restore the dirs to its state before running this script
|
||||
popd >/dev/null && popd >/dev/null && echo "Complete." && return 0
|
|
@ -1,378 +0,0 @@
|
|||
" -- BEGIN: Vundle config --
|
||||
set nocompatible " be iMproved, required
|
||||
filetype off " required
|
||||
|
||||
" set the runtime path to include Vundle and initialize
|
||||
set rtp+=~/.vim/bundle/Vundle.vim
|
||||
call vundle#begin()
|
||||
" alternatively, pass a path where Vundle should install plugins
|
||||
"call vundle#begin('~/some/path/here')
|
||||
|
||||
" let Vundle manage Vundle, required
|
||||
Plugin 'VundleVim/Vundle.vim'
|
||||
|
||||
" The following are examples of different formats supported.
|
||||
" Keep Plugin commands between vundle#begin/end.
|
||||
|
||||
" Displays git information in airline.
|
||||
Plugin 'tpope/vim-fugitive'
|
||||
|
||||
Plugin 'Raimondi/delimitMate'
|
||||
|
||||
" Autocompletion
|
||||
Plugin 'Valloric/YouCompleteMe'
|
||||
|
||||
" Displays git-tracked C*UD ops within gutter.
|
||||
Plugin 'airblade/vim-gitgutter'
|
||||
Plugin 'kien/ctrlp.vim'
|
||||
Plugin 'mileszs/ack.vim'
|
||||
Plugin 'pangloss/vim-javascript'
|
||||
Plugin 'scrooloose/nerdtree'
|
||||
Plugin 'scrooloose/syntastic'
|
||||
|
||||
" Themes
|
||||
Plugin 'sickill/vim-monokai'
|
||||
Plugin 'altercation/vim-colors-solarized'
|
||||
|
||||
" Executes shell commands and pipes output into new Vim buffer.
|
||||
Plugin 'sjl/clam.vim'
|
||||
|
||||
" Multiple cursors for simultaneous edits.
|
||||
" NOTE: use <C-n> to run miltiple cursors not <C-d>
|
||||
Plugin 'terryma/vim-multiple-cursors'
|
||||
|
||||
" Visualize buffers
|
||||
Plugin 'vim-airline/vim-airline'
|
||||
Plugin 'vim-airline/vim-airline-themes'
|
||||
|
||||
|
||||
call vundle#end() " required
|
||||
filetype plugin indent on " required
|
||||
" Put your non-Plugin stuff after this line
|
||||
" -- END: Vundle config --
|
||||
|
||||
|
||||
" Airline Settings
|
||||
" Enables the list of buffers.
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
|
||||
" Shows the filename only.
|
||||
let g:airline#extensions#tabline#fnamemod = ':t'
|
||||
|
||||
" Allow glyphs in airline
|
||||
let g:airline_powerline_fonts = 1
|
||||
|
||||
|
||||
" It's the twenty-first century...no swaps.
|
||||
set noswapfile
|
||||
|
||||
|
||||
" Allow visual tab completion in command mode
|
||||
set wildmenu
|
||||
|
||||
|
||||
" Show Vim commands as they're being input.
|
||||
set showcmd
|
||||
|
||||
|
||||
" Changes <leader> to <space> character.
|
||||
let mapleader = " "
|
||||
|
||||
|
||||
" Supports mouse interaction.
|
||||
set mouse=a
|
||||
|
||||
|
||||
" Highlights matches during a search.
|
||||
set hlsearch
|
||||
|
||||
nnoremap <leader>/ :set hlsearch!<CR>
|
||||
|
||||
|
||||
" Use custom-made snippets.
|
||||
nnoremap ,jsfn :-1read $HOME/.vim/function_skeleton.js<CR>o
|
||||
|
||||
|
||||
" backspace settings
|
||||
set backspace=2
|
||||
set backspace=indent,eol,start
|
||||
|
||||
|
||||
" Javascript specific variables
|
||||
let g:javascript_plugin_jsdoc = 1
|
||||
" set foldmethod=syntax
|
||||
|
||||
" GlobalListchars
|
||||
set list
|
||||
set listchars=eol:¶,trail:~,nbsp:␣
|
||||
|
||||
|
||||
" Keeps everything concealed at all times. Even when cursor is on the word.
|
||||
set conceallevel=1
|
||||
set concealcursor=nvic
|
||||
|
||||
" JavaScript thanks to pangloss/vim-javascript
|
||||
" let g:javascript_conceal_function = "ƒ"
|
||||
" match ErrorMsg /ƒ/
|
||||
|
||||
|
||||
" Ultisnips
|
||||
" Track the engine.
|
||||
Plugin 'SirVer/ultisnips'
|
||||
|
||||
" Snippets are separated from the engine. Add this if you want them:
|
||||
Plugin 'honza/vim-snippets'
|
||||
|
||||
" Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe.
|
||||
let g:UltiSnipsExpandTrigger="<c-x>"
|
||||
" let g:UltiSnipsJumpForwardTrigger="<c-j>"
|
||||
" let g:UltiSnipsJumpBackwardTrigger="<c-k>"
|
||||
|
||||
|
||||
" map jk to <Esc>
|
||||
inoremap jk <Esc>
|
||||
|
||||
|
||||
" Conventional Emacs line-editor defaults
|
||||
inoremap <C-a> <Esc>I
|
||||
inoremap <C-e> <Esc>A
|
||||
|
||||
|
||||
" Manage Vertical and Horizontal splits
|
||||
nnoremap vs <Esc>:vs<CR>
|
||||
nnoremap vv <Esc>:vs<CR>
|
||||
nnoremap sp <Esc>:sp<CR>
|
||||
nnoremap ss <Esc>:sp<CR>
|
||||
|
||||
|
||||
" Move around splits with <leader>
|
||||
nnoremap <leader>h <C-w>h
|
||||
nnoremap <leader>j <C-w>j
|
||||
nnoremap <leader>k <C-w>k
|
||||
nnoremap <leader>l <C-w>l
|
||||
nnoremap <leader>q <C-w>q
|
||||
|
||||
|
||||
" Fuzzy-find open buffer via CtrlP
|
||||
nnoremap <leader>bg :CtrlPBuffer<CR>
|
||||
|
||||
|
||||
" Buffer creation and management
|
||||
" Buffer movement
|
||||
nnoremap <C-l> :1bnext<CR>
|
||||
nnoremap <C-h> :1bprevious<CR>
|
||||
|
||||
" Buffer creation
|
||||
nnoremap <C-t> :enew<CR>
|
||||
|
||||
" Buffer deletion
|
||||
nnoremap <leader>bq :bp <BAR> bd #<CR>
|
||||
|
||||
|
||||
" make Y do what is intuitive given:
|
||||
" D: deletes until EOL
|
||||
" C: changes until EOL
|
||||
nnoremap Y y$
|
||||
|
||||
|
||||
" flip number keys to their shift+ counterparts
|
||||
nnoremap t1 t!
|
||||
nnoremap t2 t@
|
||||
nnoremap t3 t#
|
||||
nnoremap t4 t$
|
||||
nnoremap t5 t%
|
||||
nnoremap t6 t^
|
||||
nnoremap t7 t&
|
||||
nnoremap t8 t*
|
||||
nnoremap t9 t(
|
||||
nnoremap t0 t)
|
||||
|
||||
nnoremap T1 T!
|
||||
nnoremap T2 T@
|
||||
nnoremap T3 T#
|
||||
nnoremap T4 T$
|
||||
nnoremap T5 T%
|
||||
nnoremap T6 T^
|
||||
nnoremap T7 T&
|
||||
nnoremap T8 T*
|
||||
nnoremap T9 T(
|
||||
nnoremap T0 T)
|
||||
|
||||
nnoremap f1 f!
|
||||
nnoremap f2 f@
|
||||
nnoremap f3 f#
|
||||
nnoremap f4 f$
|
||||
nnoremap f5 f%
|
||||
nnoremap f6 f^
|
||||
nnoremap f7 f&
|
||||
nnoremap f8 f*
|
||||
nnoremap f9 f(
|
||||
nnoremap f0 f)
|
||||
|
||||
nnoremap F1 F!
|
||||
nnoremap F2 F@
|
||||
nnoremap F3 F#
|
||||
nnoremap F4 F$
|
||||
nnoremap F5 F%
|
||||
nnoremap F6 F^
|
||||
nnoremap F7 F&
|
||||
nnoremap F8 F*
|
||||
nnoremap F9 F(
|
||||
nnoremap F0 F)
|
||||
|
||||
|
||||
" Karate edits
|
||||
nnoremap ca9 ca(
|
||||
nnoremap da9 da(
|
||||
nnoremap va9 va(
|
||||
|
||||
nnoremap ca0 ca)
|
||||
nnoremap da0 da)
|
||||
nnoremap va0 va)
|
||||
|
||||
nnoremap ci9 ci(
|
||||
nnoremap di9 di(
|
||||
nnoremap vi9 vi(
|
||||
|
||||
nnoremap ci0 ci)
|
||||
nnoremap di0 di)
|
||||
nnoremap vi0 vi)
|
||||
|
||||
|
||||
" scrolling and maintaing mouse position
|
||||
nnoremap <C-j> j<C-e>
|
||||
nnoremap <C-k> k<C-y>
|
||||
|
||||
|
||||
" reload file after git changes
|
||||
nnoremap <C-r> :e<CR>
|
||||
|
||||
|
||||
" -- Syntastic Settings --
|
||||
set statusline+=%#warningmsg#
|
||||
set statusline+=%{SyntasticStatuslineFlag()}
|
||||
set statusline+=%*
|
||||
|
||||
let g:syntastic_always_populate_loc_list = 1
|
||||
let g:syntastic_auto_loc_list = 1
|
||||
let g:syntastic_check_on_open = 1
|
||||
let g:syntastic_check_on_wq = 1
|
||||
let g:syntastic_javascript_checkers = ['gjslint']
|
||||
|
||||
|
||||
" Basic settings
|
||||
set number
|
||||
set tabstop=2
|
||||
set expandtab
|
||||
set shiftwidth=2
|
||||
|
||||
syntax enable
|
||||
set background=dark
|
||||
colorscheme solarized
|
||||
|
||||
set t_Co=255
|
||||
|
||||
|
||||
" Support italics
|
||||
highlight Comment cterm=italic
|
||||
|
||||
|
||||
" Define highlighting groups
|
||||
" NOTE: The ANSII aliases for colors will change when iTerm2 settings are
|
||||
" changed.
|
||||
highlight InterestingWord1 ctermbg=Magenta ctermfg=Black
|
||||
highlight InterestingWord2 ctermbg=Blue ctermfg=Black
|
||||
|
||||
" h1 highlighting
|
||||
nnoremap <silent> <leader>1 :execute '2match InterestingWord1 /\<<c-r><c-w>\>/'<CR>
|
||||
nnoremap <silent> <leader>x1 :execute '2match none'<CR>
|
||||
|
||||
" h2 highlighting
|
||||
nnoremap <silent> <leader>2 :execute '3match InterestingWord2 /\<<c-r><c-w>\>/'<CR>
|
||||
nnoremap <silent> <leader>x2 :execute '3match none'<CR>
|
||||
|
||||
"clear all highlighted groups
|
||||
nnoremap <silent> <leader>xx :execute '2match none'<CR> :execute '3match none'<CR> hh
|
||||
|
||||
|
||||
" pasteboard copy & paste
|
||||
nnoremap <C-c> V"+y
|
||||
vnoremap <C-c> "+y
|
||||
|
||||
inoremap <C-v> <Esc>"+pa
|
||||
nnoremap <C-v> o<Esc>"+p
|
||||
vnoremap <C-v> "+p
|
||||
|
||||
|
||||
" Manage 80 char line limits
|
||||
highlight OverLength ctermbg=White ctermfg=Black
|
||||
match OverLength /\%81v.\+/
|
||||
set wrap!
|
||||
|
||||
|
||||
" Toggle word-wrapping
|
||||
nnoremap <leader>w :set wrap!<CR>
|
||||
|
||||
|
||||
" Resize split to 10,20,...,100 chars
|
||||
" Uncomment the next lines for support at those sizes.
|
||||
" These bindings interfere with the highlight groups, however.
|
||||
" Increases the width of a vertical split.
|
||||
" nnoremap <leader>1 :vertical resize 10<CR>
|
||||
" nnoremap <leader>2 :vertical resize 20<CR>
|
||||
nnoremap <leader>3 :vertical resize 30<CR>
|
||||
nnoremap <leader>4 :vertical resize 40<CR>
|
||||
nnoremap <leader>5 :vertical resize 50<CR>
|
||||
nnoremap <leader>6 :vertical resize 60<CR>
|
||||
nnoremap <leader>7 :vertical resize 70<CR>
|
||||
nnoremap <leader>8 :vertical resize 80<CR>
|
||||
nnoremap <leader>9 :vertical resize 90<CR>
|
||||
nnoremap <leader>0 :vertical resize 100<CR>
|
||||
|
||||
" Increases the height of a horizontal split.
|
||||
nnoremap <leader>v1 :resize 5<CR>
|
||||
nnoremap <leader>v2 :resize 10<CR>
|
||||
nnoremap <leader>v3 :resize 15<CR>
|
||||
nnoremap <leader>v4 :resize 20<CR>
|
||||
nnoremap <leader>v5 :resize 25<CR>
|
||||
nnoremap <leader>v6 :resize 30<CR>
|
||||
nnoremap <leader>v7 :resize 35<CR>
|
||||
nnoremap <leader>v8 :resize 40<CR>
|
||||
|
||||
|
||||
" View Directory tree with ctrl + \
|
||||
nnoremap <C-\> :NERDTreeToggle<CR>
|
||||
|
||||
|
||||
" BOL and EOL
|
||||
nnoremap H ^
|
||||
vnoremap H ^
|
||||
nnoremap L $
|
||||
vnoremap L $
|
||||
|
||||
|
||||
" trim trailing whitespace on save
|
||||
autocmd BufWritePre *.{js,py,tpl,html} :%s/\s\+$//e
|
||||
|
||||
|
||||
" set default font and size
|
||||
set guifont=Operator\ Mono:h16
|
||||
|
||||
|
||||
" CtrlP Config.
|
||||
set runtimepath^=~/.vim/bundle/ctrlp.vim
|
||||
" let g:ctrlp_map = '<c-p>'
|
||||
let g:ctrlp_cmd = 'CtrlP'
|
||||
|
||||
" Maps CtrlP to leader to future-proof config.
|
||||
nnoremap <leader>p :CtrlP<CR>
|
||||
|
||||
" Fuzzy-finds files within cwd.
|
||||
" nnoremap <leader>pf :CtrlP<CR>
|
||||
|
||||
" Ignores dirs and files
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': 'node_modules',
|
||||
\ 'file': '\v\.(exe|dll|png|jpg|jpeg)$'
|
||||
\}
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
path_to_ext_device="/Volumes/usb_vim"
|
||||
|
||||
|
||||
# ensure there is an external device connected and that the path to it is
|
||||
# accurate.
|
||||
if [ ! -d "$path_to_ext_device" ]; then
|
||||
echo "No external device found at: $path_to_ext_device"
|
||||
echo "Ensure that the value set for path_to_ext_device is correct."
|
||||
echo "path_to_ext_device: $path_to_ext_device"
|
||||
echo "Exiting."
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# This script toggles between local vim and a version that can be stored on an
|
||||
# external device like a USB.
|
||||
|
||||
# USB --> local machine
|
||||
if [ -L "$HOME/.vim" ] && [ -L "$HOME/.vimrc" ]; then
|
||||
echo "Pointing to USB. Toggling back to local machine..."
|
||||
|
||||
# remove the symlinks
|
||||
rm "$HOME/.vim"
|
||||
rm "$HOME/.vimrc"
|
||||
|
||||
# restore back-ups as active files
|
||||
[ -d "$HOME/.vim.bak" ] && mv "$HOME/.vim.bak" "$HOME/.vim"
|
||||
[ -f "$HOME/.vimrc.bak" ] && mv "$HOME/.vimrc.bak" "$HOME/.vimrc"
|
||||
|
||||
echo ".vim now points to $HOME/.vim"
|
||||
echo ".vimrc now points to $HOME/.vimrc"
|
||||
|
||||
# local machine --> USB
|
||||
else
|
||||
echo "Pointing to local machine. Toggling to USB..."
|
||||
|
||||
# back-up local machine's files
|
||||
[ -d "$HOME/.vim" ] && mv "$HOME/.vim" "$HOME/.vim.bak"
|
||||
[ -f "$HOME/.vimrc" ] && mv "$HOME/.vimrc" "$HOME/.vimrc.bak"
|
||||
|
||||
# symlink .vim and .vimrc to external device
|
||||
ln -s "${path_to_ext_device}/vim/.vim" "$HOME/.vim"
|
||||
ln -s "${path_to_ext_device}/vim/.vimrc" "$HOME/.vimrc"
|
||||
|
||||
echo ".vim now points to ${path_to_ext_device}/vim/.vim"
|
||||
fi
|
||||
|
||||
echo "Done."
|
||||
|
Loading…
Reference in a new issue