` Ben Fritz wrote:
On Oct 12, 6:47 pm, Linda W <v...@tlinx.org> wrote:
  Jürgen Krämer wrote:(at least when I launch from explorer...)...so if it 
finds my .vim and .gvim, why doesn't it find .vim/colors/xxxx.vim?did you 
change the 'runtimepath' option? On Windows the directory for user-specific 
scripts is ~/vimfiles by default, not ~/.vim.---
    I don't set a runtime path.   I'd expect it to work the same as on 
unix/linux.
Why should windows be different?
    IMO, it should look for .vim first, and then any old-style compat name,  
but **not
looking** for ~/.vim at all would seem to be a bug. Vim also doesn't seem to find

The problem with using .vim and .vimrc on Windows, is that the Windows
file explorer (as of Windows XP, I'm not sure about Vista or Windows
7) will simply not allow you to create files or directories with names
which begin with a '.' character. Sure, you can create them from the
command-line, or from within Vim, but the average user doesn't want to
do that.
----
   That's not a problem at all.

   I cite the documented search order for .vim/.gvim:

    c. Four places are searched for initializations.  The first that exists
   is used, the others are ignored.  The $MYVIMRC environment variable is
   set to the file that was first found, unless $MYVIMRC was already set
   and when using VIMINIT.
   -  The environment variable VIMINIT (see also |compatible-default|) (*)
      The value of $VIMINIT is used as an Ex command line.
   -  The user vimrc file(s):
           "$HOME/.vimrc"    (for Unix and OS/2) (*)
           "s:.vimrc"        (for Amiga) (*)
           "home:.vimrc"    (for Amiga) (*)
           "$VIM/.vimrc"    (for OS/2 and Amiga) (*)
           "$HOME/_vimrc"    (for MS-DOS and Win32) (*)
           "$VIM/_vimrc"    (for MS-DOS and Win32) (*)
       Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist,
       "_vimrc" is also tried, in case an MS-DOS compatible file
       system is used.  For MS-DOS and Win32 ".vimrc" is checked
       after "_vimrc", in case long file names are used.
       Note: For MS-DOS and Win32, "$HOME" is checked first.  If no
       "_vimrc" or ".vimrc" is found there, "$VIM" is tried.
       See |$VIM| for when $VIM is not set.
   -  The environment variable EXINIT.
      The value of $EXINIT is used as an Ex command line.
   -  The user exrc file(s).  Same as for the user vimrc file, but with
      "vimrc" replaced by "exrc".  But only one of ".exrc" and "_exrc" is
      used, depending on the system.  And without the (*)!

   =================================

Comments:

1) that .vim isn't searched for in the same way with 'vimfiles', is a rather glaring BUG, given the above. It's incompatible with the documented procedures for checking the names of .vimrc, .gvimrc, and .exrc.

2) I'm running on Win64, that has more feature in common with linux in not limiting one to the lower 4G of memory, but realistically, the break should have been made at MS-DOS/Win32.

3) the reason it checks for .vimrc after, is, it claims, 'in case long filenames are use' In XP and above (running on an NTFS disk) it can never be the case that long filenames are not usable but it is the case that shortname creation can be disabled. All of my systems since about 2000 on, have had short-name creation turned off. (Side note: On Win7, I've actually removed most of the shortnames that were created before I turned off 8.3 name compat). The tool that helps you do this tells you what registry entries might remain so you can clean up your registry and change those entries to point to the new name)

But I would argue that as the default on NTFS is long-names, then .vimrc should always be checked first on systems based on NTFS (XP and above the default was NTFS, and in XP they crippled creation of large drives other than in NTFS. I.e. -- the reasons giving any preference for .vim* over _vim* are VERY dated. The best reason for even keeping _vimrc at all (besides grandfathering and no reason to break things needlessly, which are both good reasons by themselves), is your point (surprised me!)...that explorer is broken. How lame! Although, a minor counterpoint to that: what you say might be a reason for supporting _gvimrc, but _vimrc, while usable for both, for console use (though it can be used for both). But if someone isn't using console, they could just put everything in _gvimrc...(note: playing devil's advocate there, as my real pref would be to keep _vimrc/_gvimrc/vimfiles/ supported, but have .vimrc/.gvimrc/.vimfiles be what is searched for first on any NTFS or networked file system. Not since FAT12/16 have you not been able to use .vim. and those are VERY old.

Now...I'm running Win64, not Win32, and run Win32 programs in a NON-native System Windows on Windows SYSWOW64 that runs 32bit progs on Win64. That they run at all took extra (though essential) work on the part of MS. They chose, by default, to NOT support Win32 drivers. So one could argue that the above exceptions for MS/DOS+Win32 shouldn't even be applied in a Win64 environment.

So take your pick from the above, I think I covered all points and objects and then some.

The current behavior is broken, anyway you look at it, and it's conceptually wrong for any NTFS based OS.

Can we please move toward fixing this long annoying problem?



--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to