Apple - Change compile configuration of package installation in brew

  1. brew install vim installs vim 7.4.052
  2. vim --version reports version 7.3

From above observation it is clearly apparent that these are two different vims. By executing vim --version you are invoking vim supplied as part of OS X (you can check this by which vim, which is going to report /usr/bin/vim, while brew-built programs are usually located under /usr/local directory.

To edit vim formula you just execute brew edit vim, yet you do not need to do this just to get your desired farsi support. As you can see from Vim Feature Table, farsi support is included with any build compiled with --with-features=big or huge. As brew builds are compiled with --with-features=huge, they already contain farsi support.

/usr/local/bin/vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 1 2014 14:31:50)
MacOS X (unix) version
Included patches: 1-52
Compiled by Homebrew
Huge version without GUI. Features included (+) or not (-):

+acl +farsi +mouse_netterm +syntax

To use brew-built version of vim you might like to alias it with alias vim='/usr/local/bin/vim', or try any of other options.


You can edit the brew's formula for vim which is probably at /usr/local/Library/Formula and in file named vim.rb. You can edit this file and add your needed options in the lines where it execute the compilation process such as system "make" or

system "./configure", "--prefix=#{HOMEBREW_PREFIX}",
                      "--mandir=#{man}",
                      "--enable-multibyte",
                      "--with-tlib=ncurses",
                      "--enable-cscope",
                      "--with-features=huge",
                      "--with-compiledby=Homebrew",
                      *opts

I don't think that it just implement some of the options, brew dynamically creates the compile options according to the application's compilation process and makefiles.