How can I override ~/.vim and ~/.vimrc paths (but no others) in vim?

前端 未结 4 1850
挽巷
挽巷 2021-01-31 04:56

Let\'s say I have a tarball of all my vim config - everything normally inside ~/.vim (plugins, autoload, colours, all that stuff), and a vimrc file. I extract this to a director

相关标签:
4条回答
  • 2021-01-31 05:00

    This "vimrc File and Vim Runtime Directories" screencast might be useful, as well as the vim documentation for 'runtimepath', which states the following:

    This is a list of directories which will be searched for runtime files:
          filetype.vim  filetypes by file name |new-filetype|
          scripts.vim   filetypes by file contents |new-filetype-scripts|
          autoload/ automatically loaded scripts |autoload-functions|
          colors/   color scheme files |:colorscheme|
          compiler/ compiler files |:compiler|
          doc/      documentation |write-local-help|
          ftplugin/ filetype plugins |write-filetype-plugin|
          indent/   indent scripts |indent-expression|
          keymap/   key mapping files |mbyte-keymap|
          lang/     menu translations |:menutrans|
          menu.vim  GUI menus |menu.vim|
          plugin/   plugin scripts |write-plugin|
          print/    files for printing |postscript-print-encoding|
          spell/    spell checking files |spell|
          syntax/   syntax files |mysyntaxfile|
          tutor/    files for vimtutor |tutor|
    
        And any other file searched for with the |:runtime| command.
    
        The defaults for most systems are setup to search five locations:
        1. In your home directory, for your personal preferences.
        2. In a system-wide Vim directory, for preferences from the system
           administrator.
        3. In $VIMRUNTIME, for files distributed with Vim.
    
                                *after-directory*
        4. In the "after" directory in the system-wide Vim directory.  This is
           for the system administrator to overrule or add to the distributed
           defaults (rarely needed)
        5. In the "after" directory in your home directory.  This is for
           personal preferences to overrule or add to the distributed defaults
           or system-wide settings (rarely needed).
    
    0 讨论(0)
  • 2021-01-31 05:09

    My solution isn't quite the same but could be adapted pretty easily.

    I have my Vim setup on my workstation and it's shared through regular Windows file sharing. I have this batch file that I can launch from any other computer in the building (and there's an install of Vim on another network share since most workstations don't even have Vim installed). I just run this batch file and am in my happy place.

    set MYWORK=\\my_pc\work
    set RCBASE=%MYWORK%\personal\utilities\tom.
    
    start \\server\software\vim\vim73\gvim.exe -u %RCBASE%vimrc -U %RCBASE%gvimrc
    

    So basically the adaptation would put the batch file, shell script, or otherwise into the archive you're unpacking and launch the system vim with your local files.

    0 讨论(0)
  • 2021-01-31 05:20

    I have a portable .vim folder exactly as you described, this is how I have set it up:

    • Put your portable .vimrc file inside your .vim folder.

    • Add the following lines to the start of your portable .vim/.vimrc:

    " set default 'runtimepath' (without ~/.vim folders)
    let &runtimepath = printf('%s/vimfiles,%s,%s/vimfiles/after', $VIM, $VIMRUNTIME, $VIM)
    
    " what is the name of the directory containing this file?
    let s:portable = expand('<sfile>:p:h')
    
    " add the directory to 'runtimepath'
    let &runtimepath = printf('%s,%s,%s/after', s:portable, &runtimepath, s:portable)
    
    • Start vim by using: vim -u /path/to/portable/vim/.vimrc.
    0 讨论(0)
  • 2021-01-31 05:20

    On Unix & Linux systems (and maybe Windows) Vim uses the $HOME environment variable to locate the .vimrc file and .vim directory. So you can cd into the directory where you have your custom versions and start vim or gvim like this:

    HOME=. vim files....
    
    0 讨论(0)
提交回复
热议问题