Jak mogę nadpisać ~/.vim i ~/.ścieżki vimrc (ale żadnych innych) w vim?

Powiedzmy, że mam całą konfigurację Vima-wszystko normalnie wewnątrz ~/.vim (wtyczki, autoload, kolory, wszystko to) i plik vimrc. Wyciągam to do jakiegoś katalogu. Tak więc w katalogu, w którym jestem ($PWD), znajduje się folder " vim "i plik "vimrc". (uwaga: ten katalog będzie tylko do odczytu, więc vim nie powinien próbować do niego zapisywać).

Jakie argumenty linii poleceń lub zmienne środowiskowe mogę podać Vimowi, aby upewnić się, że wszystkie moje wtyczki, składnia itp. są załadowane podobnie jak vimrc, w takiej samej kolejności jak normalnie, gdyby znajdowały się w~/.vim i ~/.vimrc

Jako bonus, chciałbym zignorować komputer hosta~/.vimrc i ~/.vim jeśli to możliwe (ale nie jest to obowiązkowe).

Jeśli zastanawiasz się, dlaczego nie rzucam plików w~/.vimrc i ~/, Vim, próbuję spakować własną konfigurację Vima i zabrać ją ze sobą. Nie chcę blokować konfiguracji Vima komputera, którego używam, chcę tylko rozpocząć sesję Vima z my config.

Author: gfxmonk, 2010-07-31

4 answers

Mam przenośny .vim folder dokładnie taki jak opisałeś, tak go skonfigurowałem:

  • Umieść swój przenośny plik .vimrc w folderze .vim.

  • Dodaj następujące linie do początku przenośnego .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)
  • Uruchom Vima używając: vim -u /path/to/portable/vim/.vimrc.
 29
Author: too much php,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-08 03:49:19

W systemach Unix i Linux (a może Windows) Vim używa zmiennej środowiskowej $HOME do zlokalizowania .plik vimrc i .katalog vim. Możesz więc cd do katalogu, w którym masz własne wersje i uruchomić Vima lub gvima w ten sposób:

HOME=. vim files....
 3
Author: Dave Kirby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-31 16:48:11

Ten screencast"vimrc File and Vim Runtime Directory" może być przydatny, jak również dokumentacja Vima dla 'runtimepath' , która stwierdza, co następuje:

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
Author: David Rivers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-01 02:48:12

Moje rozwiązanie nie jest takie samo, ale można je łatwo zaadaptować.

Mam konfigurację Vima na mojej stacji roboczej i jest on udostępniany poprzez zwykłe udostępnianie plików w systemie Windows. Mam ten plik wsadowy, który mogę uruchomić z dowolnego innego komputera w budynku(i jest instalacja Vima na innym udziale sieciowym, ponieważ większość stacji roboczych nawet nie ma zainstalowanego Vima). Po prostu uruchamiam ten plik wsadowy i jestem w moim szczęśliwym miejscu.

set MYWORK=\\my_pc\work
set RCBASE=%MYWORK%\personal\utilities\tom.

start \\server\software\vim\vim73\gvim.exe -u %RCBASE%vimrc -U %RCBASE%gvimrc

Więc w zasadzie adaptacja umieściłaby plik wsadowy, shell script, lub w inny sposób do archiwum, które rozpakowujesz i uruchom systemowy vim z plikami lokalnymi.

 0
Author: dash-tom-bang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-19 19:09:25