Подтвердить что ты не робот

Как я могу переопределить пути ~/.vim и ~/.vimrc(но не другие) в vim?

Скажем, у меня есть архив всех моих конфигураций vim - все нормально внутри ~/.vim(плагины, автозагрузка, цвета, все эти вещи) и файл vimrc. Я извлекаю это в каталог где-то. Поэтому в каталоге, где я есть ($ PWD), есть папка "vim" и файл "vimrc". (обратите внимание: этот каталог будет доступен только для чтения, поэтому vim не должен пытаться писать в него).

Какие аргументы командной строки или переменные среды я могу предоставить vim, чтобы загрузить все мои плагины, синтаксис и т.д., а также vimrc в том же порядке, в каком они обычно находились, если они были расположены в ~/. vim и ~/.vimrc

В качестве бонуса я хотел бы проигнорировать главный компьютер ~/.vimrc и ~/.vim, если это возможно (но это необязательно).

Если вам интересно, почему я не просто выворачиваю файлы в ~/.vimrc и ~/, vim, я пытаюсь упаковать свою собственную конфигурацию vim и взять ее со мной. Я не хочу сжимать конфигурацию vim компьютера, который я использую, я просто хочу начать сеанс vim с моей конфигурацией.

4b9b3361

Ответ 1

У меня есть портативная папка .vim, как вы описали, вот как я ее установил:

  • Поместите переносимый файл .vimrc в папку .vim.

  • Добавьте следующие строки в начало переносимого .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)
  • Запустите vim, используя: vim -u /path/to/portable/vim/.vimrc.

Ответ 2

В системах Unix и Linux (и, возможно, Windows) Vim использует переменную среды $HOME для поиска файла .vimrc и .vim. Таким образом, вы можете записывать cd в каталог, где у вас есть свои собственные версии, и запускать vim или gvim следующим образом:

HOME=. vim files....

Ответ 3

Этот "vimrc File и Vim Runtime каталоги" screencast могут быть полезны, а также документация vim для 'runtimepath', в которой указано следующее:

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).

Ответ 4

Мое решение не совсем то же самое, но может быть легко адаптировано.

У меня есть моя установка Vim на моей рабочей станции, и она делится обычным совместным доступом к файлам Windows. У меня есть этот пакетный файл, который я могу запустить с любого другого компьютера в здании (и там установлена ​​Vim на другом сетевом ресурсе, так как большинство рабочих станций даже не установлены Vim). Я просто запускаю этот пакетный файл и вхожу в мое счастливое место.

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

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

Таким образом, в основном адаптация поместила бы командный файл, оболочку script или иначе в архив, который вы распаковываете, и запустите систему vim с вашими локальными файлами.