3

I am using MacVim at home and using gvim in Windows at work. Since I use git to sync my vim settings, I want the settings to be in the same folder named vimfiles. I set runtimepath in my .gvimrc like this:

set runtimepath=~/vimfiles/,$VIMRUNTIME

but the plugins in ~/vimfiles/plugin seems not been loaded by MacVim. Am I doing something wrong with it?

Is it because the subfolders in vimfiles were not recursively added to runtimepath?

4

4 回答 4

10

当 Vim 可以做正确的事情并在 Windows 上使用标准的 ' ' 命名时,我不确定你为什么担心强制 MacOS 上的 Vim 理解 Window 的文件命名约定.。你逆流而上。

这是来自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 机器上所做的,我通过复制一个 tarball 在我的 Mac、XP 和大约五个 Linux 主机之间进行同步。

于 2011-03-26T16:36:05.050 回答
6

只需~/.vim为您的目录创建一个符号链接~/vimfiles,它应该可以很好地工作。

于 2011-03-26T04:04:15.747 回答
2

根据:h initialization,加载插件脚本(搜索^4\.)是在执行特定于 GUI 的初始化(搜索^8\.)之前完成的,因此您应该将此行放入~/.vimrc,而不是放入~/.gvimrc.

于 2011-03-26T09:56:12.027 回答
0

你试过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 分钟,而且让整个系统保持最新状态完全不费吹灰之力。

于 2011-05-03T12:15:00.727 回答