# HG changeset patch # User Steve Losh # Date 1371134538 14400 # Node ID 9148639bdef5398aeea73912f2a7bed3f5a8c5d5 # Parent fb1a2de86f11bad193d38f924df5a046d863645c fuck you too, /bin/bash diff -r fb1a2de86f11 -r 9148639bdef5 vim/vimrc --- a/vim/vimrc Mon Apr 08 11:15:28 2013 -0400 +++ b/vim/vimrc Thu Jun 13 10:42:18 2013 -0400 @@ -33,7 +33,6 @@ set undoreload=10000 set list set listchars=tab:▸\ ,eol:¬,extends:❯,precedes:❮ -set shell=/bin/bash\ --login set lazyredraw set matchtime=3 set showbreak=↪ @@ -49,6 +48,25 @@ set spellfile=~/.vim/custom-dictionary.utf-8.add set colorcolumn=+1 +" Dear /bin/bash: fuck you and your bullshit, arcane command-line behaviour. +" +" Basically, I want to set this to a non-login, non-interactive bash shell. +" Using a login/interactive bash as Vim's 'shell' breaks subtle things, like +" ack.vim's command-line argument parsing. However, I *do* want bash to load +" ~/.bash_profile so my aliases get loaded and such. +" +" You might think you could do this with the --init-file command line option, +" which is used to specify an init file. Or with --rcfile. But no, those only +" get loaded for interactive/login shells. +" +" So how do we tell bash to source a goddamned file when it loads? With an +" *environment variable*. Jesus, you have multiple command line options for +" specifying files to load and none of them work? +" +" Computers are bullshit. +let $BASH_ENV = "~/.bash_profile" +set shell=/bin/bash + " Don't try to highlight lines longer than 800 characters. set synmaxcol=800