Perhaps vim's dependency should be less aggressively particular. It's hard to believe that vim x with vim-share x-1 or x+1 would be terrible. The other approach is to have pkg_add be willing to violate the dependency when called to do the replace; there is already long-standing logic for this kind of thing, but perhaps not exactly this