Installation clarity

99 views
Skip to first unread message

George Dinwiddie

unread,
Dec 5, 2009, 10:31:53 PM12/5/09
to vim_mac
Thanks for the Mac version of gvim. I really appreciate it!

Just an FYI that this Mac newbie (experienced with both Windows &
Unices) found the installation a little confusing. I ended up putting
the MacVim program in /Applications & the mvim script in /usr/local/bin
along with a gvim symbolic link. Does that seem right? Would it be
worth adding to the install package?

- George

--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------

Robert H

unread,
Dec 8, 2009, 7:28:44 PM12/8/09
to vim...@googlegroups.com
On 12/5/09 10:31 PM, George Dinwiddie wrote:
> Thanks for the Mac version of gvim. I really appreciate it!
>
> Just an FYI that this Mac newbie (experienced with both Windows&
> Unices) found the installation a little confusing. I ended up putting
> the MacVim program in /Applications& the mvim script in /usr/local/bin
> along with a gvim symbolic link. Does that seem right? Would it be
> worth adding to the install package?
>
> - George
>

I leave everything alone and put the following in my .bashrc as an alias:

alias vim='/Applications/MacVim/MacVim.app/Contents/MacOS/Vim'
alias gvim='/Applications/MacVim/MacVim.app/Contents/MacOS/Vim -g'

Works fine for what I do...

Bob

Edward Marczak

unread,
Dec 8, 2009, 8:36:02 PM12/8/09
to vim...@googlegroups.com
On Tue, Dec 8, 2009 at 7:28 PM, Robert H <sig...@gmail.com> wrote:

> I leave everything alone and put the following in my .bashrc as an alias:
>
> alias vim='/Applications/MacVim/MacVim.app/Contents/MacOS/Vim'
> alias gvim='/Applications/MacVim/MacVim.app/Contents/MacOS/Vim -g'

I'm doing something similar, but since aliases don't get passed to
sub-shells, I'm exporting functions:

vi() { ${HOME}/Applications/MacVim/mvim ${@}; }
vim() { ${HOME}/Applications/MacVim/mvim ${@}; }
gvim () { ${HOME}/Applications/MacVim/mvim ${@}; }
vimdiff() { ${HOME}/Applications/MacVim/mvim -d ${@}; }
export -f vi
export -f vim
export -f gvim
export -f vimdiff


> Works fine for what I do...

I needed to use functions to work with git and svn.
--
Ed Marczak
e: mar...@radiotope.com
w: http://www.radiotope.com/writing

björn

unread,
Dec 9, 2009, 5:02:38 AM12/9/09
to vim...@googlegroups.com
Hi George,

2009/12/6 George Dinwiddie:
> Just an FYI that this Mac newbie (experienced with both Windows &
> Unices) found the installation a little confusing.  I ended up putting
> the MacVim program in /Applications & the mvim script in /usr/local/bin
> along with a gvim symbolic link.  Does that seem right?  Would it be
> worth adding to the install package?

All Mac apps either come as an archive (admittedly it is usually a
.dmg though) or as an installer program. In the former case you
always just drag the app to wherever you want to keep it (usually
/Applications). The latter is not used that often really, or when it
is it's usually because the app you're installing contains multiple
files. In any case, it is not suitable for MacVim since it is only
one app bundle (the "mvim" script is optional).

In the archive I also provide this README:

------
This archive contains a snapshot build of 'MacVim.app' and the shell script
'mvim'.

For usage instructions, please start MacVim and type ":h macvim"
(without the quotes).

This snapshot requires an Intel Mac running Mac OS X 10.5 or later.
------

Do you think I should be more explicit on the install instructions
here? The help (:h macvim) should contain all the information you
need (scroll down to ":h mvim"), but maybe it is better to spell you
the installation essentials in the readme? Or does anybody ever read
readmes anyway?

Anyway, apart from the "mvim" script, I don't think the installation
procedure can be simplified.

Björn

George Dinwiddie

unread,
Dec 9, 2009, 9:15:15 AM12/9/09
to vim...@googlegroups.com
Hi, Bj�rn,

At least some people read the readme, because I did. I just wasn't
sure, after doing so, what was the "correct" way to install. Much of
this is my own inexperience with the OSX environment.

My posting was prompted by two motivations:
1. To confirm that I'd done a reasonable thing, and
2. To help improve the situation for the next person.

I've found that when I know something, it's very difficult for me to
remember what confused me before I knew it. In many things I create,
getting that newbie point of view is both important and difficult for
me. All I'm suggesting is that it might be worth adding a few more
lines to the readme. Maybe something like:

"To install, drag the MacVim app into your Applications folder. If
you'd like easy access from the command line, put the mvim script
somewhere on your PATH, or provide an alias to it."

Does that make sense?

- George
> Bj�rn

björn

unread,
Dec 9, 2009, 9:39:36 AM12/9/09
to vim...@googlegroups.com
2009/12/9 George Dinwiddie:
> At least some people read the readme, because I did.  I just wasn't
> sure, after doing so, what was the "correct" way to install.  Much of
> this is my own inexperience with the OSX environment.
>
> My posting was prompted by two motivations:
>  1. To confirm that I'd done a reasonable thing, and
>  2. To help improve the situation for the next person.
>
> I've found that when I know something, it's very difficult for me to
> remember what confused me before I knew it.  In many things I create,
> getting that newbie point of view is both important and difficult for
> me.  All I'm suggesting is that it might be worth adding a few more
> lines to the readme.  Maybe something like:
>
> "To install, drag the MacVim app into your Applications folder.  If
> you'd like easy access from the command line, put the mvim script
> somewhere on your PATH, or provide an alias to it."
>
> Does that make sense?

That sounds good...I will add this to the README. It is invaluable to
me to get user feedback on how to enhance these sort of little things
since I myself don't think much about them. Thanks!

Björn

Steven Michalske

unread,
Dec 9, 2009, 2:59:39 PM12/9/09
to vim...@googlegroups.com
On Dec 9, 2009, at 2:02 AM, björn wrote:

> All Mac apps either come as an archive (admittedly it is usually a
> .dmg though) or as an installer program. In the former case you
> always just drag the app to wherever you want to keep it (usually
> /Applications). The latter is not used that often really, or when it
> is it's usually because the app you're installing contains multiple
> files. In any case, it is not suitable for MacVim since it is only
> one app bundle (the "mvim" script is optional).

Package maker can make installers with MacVIM to /Applications and
also optionally install mvim to say /usr/local/bin

By default if someone moves MacVIM from /Applications the installer
will follow the move and reinstall newer versions to where the user
moved the Application bundle.

Also the mvim component can be set as an optional installed item.

This is precluding sparkle integration judgments, as I have not
developed with sparkle.

Hardkrash

dacresni

unread,
Dec 9, 2009, 8:16:04 PM12/9/09
to vim_mac
that solution doesn't solve enough problems. I have added ~/bin in my
path and put a symlink to mvim there. an alias my work better sense
it's automatically updated when the target moves but my account is
about the only thing that uses this program. I have many other things
in that folder so it makes sense. Plus if you dont like having it
listed, you could just prepend a dot and it should still work.

René Köcher

unread,
Dec 10, 2009, 2:13:59 AM12/10/09
to vim...@googlegroups.com
> --
> You received this message from the "vim_mac" maillist.
> For more information, visit http://www.vim.org/maillist.php
>
>

With this lots of discussion going on I think I should state my point too.

Dragging apps into the application folder is how it's always been on mac - easy.
In my opinion it's the best way to install MacVim.

Regarding the optional mvim script - why not take the same approach as
Textmate did?
In Textmate you have a click able help entry to install optional
components like mate
(the mvim for Textmate) or "Edit in Textmate".

MacVim could bundle the mvim script right in it's application bundle
and provide a
simple command or script to create the needed symlinks.

With this you would have all the benefits of drag-and-drop install,
sparkle and mvim.
(For which you have to read the :help entry anyway..)

+1 D&D app-bundle


Cheers,
Shirk
----------------------------------------------------------------------
BitSpin.org :: don't get twisted up!
----------------------------------------------------------------------

Nico Weber

unread,
Dec 10, 2009, 2:29:34 AM12/10/09
to vim...@googlegroups.com
> With this lots of discussion going on I think I should state my
> point too.
>
> Dragging apps into the application folder is how it's always been on
> mac - easy.
> In my opinion it's the best way to install MacVim.
>
> Regarding the optional mvim script - why not take the same approach as
> Textmate did?
> In Textmate you have a click able help entry to install optional
> components like mate
> (the mvim for Textmate) or "Edit in Textmate".
>
> MacVim could bundle the mvim script right in it's application bundle
> and provide a
> simple command or script to create the needed symlinks.
>
> With this you would have all the benefits of drag-and-drop install,
> sparkle and mvim.
> (For which you have to read the :help entry anyway..)

The plan was to put an "install mvim script" button in the second
preference pane, but nobody got around to implementing it yet. Patches
welcome, I guess :-)

Nico

Robert H

unread,
Dec 10, 2009, 7:31:48 PM12/10/09
to vim...@googlegroups.com
On 12/8/09 8:36 PM, Edward Marczak wrote:
> On Tue, Dec 8, 2009 at 7:28 PM, Robert H<sig...@gmail.com> wrote:
>
>> I leave everything alone and put the following in my .bashrc as an alias:
>>
>> alias vim='/Applications/MacVim/MacVim.app/Contents/MacOS/Vim'
>> alias gvim='/Applications/MacVim/MacVim.app/Contents/MacOS/Vim -g'
>
> I'm doing something similar, but since aliases don't get passed to
> sub-shells, I'm exporting functions:
>
> vi() { ${HOME}/Applications/MacVim/mvim ${@}; }
> vim() { ${HOME}/Applications/MacVim/mvim ${@}; }
> gvim () { ${HOME}/Applications/MacVim/mvim ${@}; }
> vimdiff() { ${HOME}/Applications/MacVim/mvim -d ${@}; }
> export -f vi
> export -f vim
> export -f gvim
> export -f vimdiff
>

I like that!

Bob

Carl Jacobsen

unread,
Dec 17, 2009, 11:36:44 AM12/17/09
to vim...@googlegroups.com
On Thu, 10 Dec 2009, Ren� K�cher wrote:

> Dragging apps into the application folder is how it's always been on
> mac - easy. In my opinion it's the best way to install MacVim.

Agreed. Mac apps shouldn't use installers unless they have considerably
complicated installations, like installing kernel extensions and other
bits all over the filesystem. Installers (vs. a plain "drag this to
somewhere" app) tend to evoke distrust, and sometimes even ire, from
some (particularly old-school) Mac users.

> Regarding the optional mvim script - why not take the same approach
> as Textmate did?
> In Textmate you have a click able help entry to install optional
> components like mate (the mvim for Textmate) or "Edit in Textmate".
>
> MacVim could bundle the mvim script right in it's application bundle
> and provide a simple command or script to create the needed symlinks.

A menu choice somewhere in MacVim for "install mvim command-line script"
would be helpful, but it could be even simpler...

On startup, MacVim already reads (and occasionally updates) some (Mac)
preferences (out of ~/Library/Preferences/org.vim.MacVim.plist), right?

So store a "last version/build run" field, check it when MacVim starts
up, if the current version number differs from the last (or if there's
no last version, because this is a first time install), then check the
directories in $PATH for mvim. If it isn't found (or if it is, but the
contents compare as different to the one stored in MacVim's Resources),
pop up a dialog box over the initial Vim window, offering to install
mvim. It doesn't even need to be complicated with a file chooser. If
/usr/local/bin is on the users $PATH, offer to install it there, else
if $HOME/bin is on the path, offer that, otherwise make it a simple
informational alert box that explains there's this optional script
called mvim that the user could install if they felt inclined to do
so (along with "see :h mvim-install for details").

Chances are, anyone who would be interested in using mvim already has
put /usr/local/bin, or ~/bin, on their path, and the dialog only
appears once for each new version of MacVim installed (and actually not
even that -- because of the heavy overlap between "MacVim users" and
"Terminal users", a very common case will be that you already have
mvim on your path and the contents are the same as new MacVim's
version of mvim, so you'd only get the dialog in the rare case of
starting a new version of MacVim that also has an updated version
of mvim).

Then, if you want to complete the "look like other apps" install
experience, put MacVim.app in a .dmg file along with a Mac alias to
/Applications, and a background image for the folder that gives simple
instructions, like this (apologies to those not reading with fixed-width
fonts):
"Drag this..." "...to here"
[ MacVim.app ] [ /Applications alias ]

This also effectively answers the "what's the right way to install"
question, because the user would be led through it.

Several apps get around the "some users end up running the app straight
out of the dmg" problem by checking their location when they start up;
if they're under /Volumes, they offer to copy themselves into the
/Applications folder. Alternatively, since MacVim.app could be the
only thing in the container (.dmg, .zip, .tgz), especially if any
necessary "readme" info is presented in an initial (one-time) "Welcome
to MacVim" alert, you could package MacVim.app as the only contents of
a .zip (or .tgz, but .zip might look more familiar to most) -- the user
downloads it, double-clicks MacVim###.zip, and ends up with MacVim.app,
figure they can run it right there, or move it to /Applications or
/Other/App/Folder as they see fit (one could also offer to move oneself
to /Applications if one finds oneself running from ~/Downloads -- you
could wrap that with a "last version run from downloads" value in the
preferences, to keep from continually annoying the one odd user out
there who wants to keep/run apps in ~/Downloads).

I know these suggestions would carry more weight if I offered patches
instead of instructions; alas, no time right now, perhaps in the near
future (programming comes naturally, but I'm rusty on Mac coding, and
haven't poked around inside MacVim's code before, though I've been a
*very* happy user/recommender of MacVim for a couple years).

> +1 D&D app-bundle

+2 :)

Cheers,
-- Carl

Reply all
Reply to author
Forward
0 new messages