> csupport plugin is awesome!
>
> I have one issue with VIM, trying to make it recognize my bashrc aliases.
>
> ie:
> :!indent ./foo.c
>
> >From what I've read, the cause is Bash starting in non-interactive mode.
> So I've modified $HOME/.vimrc:
> shell=bash
> shellcmdflags=-ic
> Also note, I must specify "-ic", as not even "-i\ -c" will work from within
> VIM.
>
> Is this the proper solution?
Not sure, but this what I did:
1. in .bash_profile I added:
export BASH_ENV="~/.bash_ni"
cf. 'man bash' for details..
2. Then, I created the following ~/.bash_ni file
# ~/.bash_ni: get bash to load aliases & functions for non-interactive
# shells - e.g. when issuing `:!cmd' commands from Vim
#set -x
#---------------------------------------------------------------------
# functions
#---------------------------------------------------------------------
if [ -d /etc/bash_functions ]; then
cd /etc/bash_functions
for i in $(ls); do
. $i
done
cd -
fi
if [ -d /home/gavron/.bash_functions ]; then
cd /home/gavron/.bash_functions
for i in $(ls); do
. $i
done
cd -
fi
#------------- -------------------------------------------------------
# source aliases
#---------------------------------------------------------------------
shopt -s expand_aliases
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
I tend to use bash functions rather than aliases because they are a lot
more powerful and flexible, hence the functions-related code above. If
you don't use functions you can skip that part.
cj
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
No comments:
Post a Comment