Index: Portfile
===================================================================
--- Portfile	(revision 106297)
+++ Portfile	(working copy)
@@ -7,7 +7,7 @@
 set snapshot        66
 set gitcommit       snapshot-${snapshot}
 version             ${vim_version}.snapshot${snapshot}
-revision            3
+revision            4
 categories          editors
 platforms           darwin
 license             Vim GPL-2+
@@ -42,6 +42,7 @@
 }
 
 patchfiles          patch-src-MacVim-icons-python.diff \
+                    patch-src-MacVim-vimrc.diff \
                     patch-reverse-7.3.245.diff \
                     patch-MacVim-GCC-VERSION.diff
 
@@ -69,6 +70,11 @@
 post-patch {
     reinplace "s|^# VIM_APP_DIR=/Applications$|VIM_APP_DIR=${applications_dir}|" \
          ${worksrcpath}/src/MacVim/mvim
+
+    set vimf ${prefix}/share/vim/vimfiles
+    set macvimf ${applications_dir}/MacVim.app/Contents/Resources/vim/vimfiles
+    reinplace "s|__VIM_VIMFILES__|$vimf|" ${worksrcpath}/src/MacVim/vimrc
+    reinplace "s|__MACVIM_VIMFILES__|$macvimf|" ${worksrcpath}/src/MacVim/vimrc
 }
 
 autoconf.dir ${worksrcpath}/src
Index: files/patch-src-MacVim-vimrc.diff
===================================================================
--- files/patch-src-MacVim-vimrc.diff	(revision 0)
+++ files/patch-src-MacVim-vimrc.diff	(working copy)
@@ -0,0 +1,25 @@
+--- src/MacVim/vimrc.orig	2012-12-12 06:26:32.000000000 -0500
++++ src/MacVim/vimrc	2013-05-21 20:22:25.000000000 -0400
+@@ -13,3 +13,22 @@
+ " the entire MacVim menu is set up in a nib file which currently only is
+ " translated to English).
+ set langmenu=none
++
++" Add the vim port's vimfiles directory to runtimepath so that MacVim
++" can pick up vim files installed by other ports. Also remove the
++" default vimfiles entries, since those directories don't exist, and
++" nothing should be using them.
++if 1
++    let rtp = split(&runtimepath, ',')
++
++    " Insert vim's vimfiles around MacVim's $VIMRUNTIME.
++    let idx_vimruntime = index(rtp, $VIMRUNTIME)
++    call insert(rtp, "__VIM_VIMFILES__/after", idx_vimruntime + 1)
++    call insert(rtp, "__VIM_VIMFILES__", idx_vimruntime)
++
++    " Remove MacVim's nonexistent vimfiles entries.
++    call filter(rtp, 'v:val !~ ''__MACVIM_VIMFILES__\%(/after\)\?''')
++
++    let &runtimepath = join(rtp, ',')
++    unlet idx_vimruntime rtp
++endif
