Как я могу переопределить пути ~ / .vim и ~ / .vimrc (но не другие) в vim? - PullRequest
23 голосов
/ 31 июля 2010

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

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

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

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

Ответы [ 4 ]

29 голосов
/ 02 августа 2010

У меня есть портативная папка .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.
3 голосов
/ 31 июля 2010

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

HOME=. vim files....
0 голосов
/ 19 декабря 2012

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

У меня настроена 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

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

0 голосов
/ 01 августа 2010

Эта * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2. * * * * *.

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).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...