On Sat, Dec 18, 2010 at 04:41:06PM EST, Roger wrote:

> 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

Reply via email to