Можно ли использовать папку с именем vimfiles для замены .vim в macvim? - PullRequest
3 голосов
/ 26 марта 2011

Я использую MacVim дома и использую gvim в Windows на работе.Поскольку я использую git для синхронизации настроек vim, я хочу, чтобы настройки находились в одной папке с именем vimfiles.Я установил runtimepath в моем .gvimrc так:

set runtimepath=~/vimfiles/,$VIMRUNTIME

, но плагины в ~/vimfiles/plugin, похоже, не загружены MacVim.Я что-то не так делаю?

Это потому, что подпапки в vimfiles не были рекурсивно добавлены в путь времени выполнения?

Ответы [ 4 ]

11 голосов
/ 26 марта 2011

Я не уверен, почему вы беспокоитесь о том, чтобы заставить Vim на MacOS понимать соглашение Windows об именовании файлов, когда Vim может делать правильные вещи и использовать стандартное именование '.' в Windows.Вы идете против течения.

Это из вики Vim :

Один полезный параметр Vim в среде со смешанной ОС - это использование.vim для пользовательских настроек Vim также для систем Windows (Vim автоматически выбирает файл конфигурации .vimrc вместо _vimrc по умолчанию).Следующий фрагмент в .vimrc выполнит свою задачу и, таким образом, позволит вам синхронизироваться без переименования каталогов:

«В Windows также используйте« .vim »вместо« vimfiles »; это делает синхронизацию» через (гетерогенной)) системы проще.

if has('win32') || has('win64')
  set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after
endif

Это то, что я делал на своей машине с WinXP на работе, и я синхронизирую между своим Mac, XP и примерно пятью хостами Linux, копируя тарбол через.

6 голосов
/ 26 марта 2011

Просто сделайте ~/.vim символической ссылкой на каталог ~/vimfiles, и он должен прекрасно работать.

2 голосов
/ 26 марта 2011

Согласно :h initialization, загрузка скриптов плагина (поиск ^4\.) выполняется до того, как будет выполнена инициализация, специфичная для GUI (поиск ^8\.), поэтому вы должны поместить эту строку в ~/.vimrc, а не в~/.gvimrc.

0 голосов
/ 03 мая 2011

Вы пробовали set runtimepath+=/path/to/vimfiles (обратите внимание на +=)? Также возможно, что вам нужно сделать это для всех подпапок.

Поскольку вы используете Git, вы можете установить рабочий каталог на ~/.vim на Mac и на любом компьютере с Windows, что делает имя папки неактуальным.

$ git config worktree /Users/username/.vim

Я использую DropBox для синхронизации папок ~/.vim на всех моих машинах (Mac @ work, Mac @ home, Ubuntu @ home и Linode VPS где-то). Все папки autoload, bundle и т. Д. Находятся в подпапке DOTFILES/vim моего DropBox и связаны с ~/.vim/autoload, ~/.vim/bundle, ~/.vim/syntax и т. Д.

Простая символическая ссылка ~/Dropbox/DOTFILES/vim на ~/.vim тоже подойдет, но я хотел, чтобы на этой машине оставались вещи, характерные для машины. Представления, например.

My .vimrc содержит только несколько строк:

source ~/Dropbox/DOTFILES/vimrc

" Quickly edit/reload the vimrc file
nmap <silent> <leader>ev :tabnew ~/Dropbox/DOTFILES/vimrc<CR>
nmap <silent> <leader>sv :so ~/Dropbox/DOTFILES/vimrc<CR>

Я полагаю, что его установка на новую машину займет максимум 2-3 минуты, а поддерживать все в актуальном состоянии совершенно без усилий.

...