On Tue, Dec 20, 2005 at 12:11:37AM -0500, Glenn Maynard wrote:
> > Yeah; vi not behaving like vi by default seems like a showstopper.
> "Can't make vim act like vi" might be a showstopper. "The default
> configuration makes vim not act like vi" isn't a showstopper--it's
> trivial to change.
Geez, I hate arguments about defaults. If it's trivial to change, that's
great; but until the defaults are changed it's still a showstopper.
> I guess there are two competing goals here: acting like vi by default,
> for the people in a time capsule,
*sigh*
> and acting like vim by default, to
> show off vim's cool features. I wonder if there's a sensible way to
> do both, eg. argv[0] for "vi" and "vim".
The following patch lets you have a /usr/share/vim/virc (which should
be a symlink to /etc, like /usr/share/vim/vimrc) to specify different
behaviour when vim's invoked as vi instead of vim.
--- vim-6.4.old/vim64/src/main.c 2005-02-15 23:09:15.000000000 +1000
+++ vim-6.4/vim64/src/main.c 2005-12-20 16:36:49.000000000 +1000
@@ -1363,6 +1363,10 @@
* Get system wide defaults, if the file name is defined.
*/
#ifdef SYS_VIMRC_FILE
+# ifdef SYS_VIM_VIRC_FILE
+ if (STRCMP(initstr, "vi") != 0 ||
+ do_source((char_u *)SYS_VIM_VIRC_FILE, FALSE, FALSE) == FAIL)
+# endif
(void)do_source((char_u *)SYS_VIMRC_FILE, FALSE, FALSE);
#endif
--- vim-6.4.old/vim64/src/os_unix.h 2003-11-10 19:53:44.000000000 +1000
+++ vim-6.4/vim64/src/os_unix.h 2005-12-20 16:14:07.000000000 +1000
@@ -233,6 +233,9 @@
#ifndef SYS_VIMRC_FILE
# define SYS_VIMRC_FILE "$VIM/vimrc"
#endif
+#ifndef SYS_VIM_VIRC_FILE
+# define SYS_VIM_VIRC_FILE "$VIM/virc"
+#endif
#ifndef SYS_GVIMRC_FILE
# define SYS_GVIMRC_FILE "$VIM/gvimrc"
#endif
Cheers,
aj
Attachment:
signature.asc
Description: Digital signature