我在家中使用MacVim并在Windows中使用gvim工作。由于我使用git来同步我的vim设置,因此我希望设置位于名为vimfiles的同一文件夹中。我在我的.gvimrc中设置了runtimepath,如下所示:
set runtimepath=~/vimfiles/,$VIMRUNTIME
但是~/vimfiles/plugin
中的插件似乎没有被MacVim加载。我做错了吗?
是不是因为vimfiles中的子文件夹没有以递归方式添加到runtimepath?
答案 0 :(得分:11)
我不确定为什么你担心强迫Mac上的Vim理解Window的文件命名约定,当Vim可以做正确的事情并在Windows上使用标准的“.
”命名时。你反对这个流程。
这是the Vim wiki:
混合操作系统环境中一个有用的Vim设置是对Windows系统也使用.vim进行Vim用户设置(默认情况下,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主机之间进行同步。
答案 1 :(得分:6)
只需将~/.vim
作为指向~/vimfiles
目录的符号链接,它就可以正常运行。
答案 2 :(得分:2)
根据:h initialization
,在执行特定于GUI的初始化(搜索^4\.
)之前完成加载插件脚本(搜索^8\.
),因此您应该将此行放入~/.vimrc
,而不是~/.gvimrc
。
答案 3 :(得分:0)
您是否尝试set runtimepath+=/path/to/vimfiles
(请注意+=
)?此外,您可能需要为所有子文件夹执行此操作。
由于您使用的是Git,您可以将工作目录设置为Mac上的~/.vim
以及Windows计算机上的任何内容,使文件夹的名称无关。
$ git config worktree /Users/username/.vim
我使用DropBox在我的所有机器上同步我的~/.vim
文件夹(Mac @ work,Mac @ home,Ubuntu @ home和Linode VPS)。所有autoload
,bundle
等文件夹都位于我的DropBox的DOTFILES/vim
子文件夹中,并符号链接到~/.vim/autoload
,~/.vim/bundle
,~/.vim/syntax
,等
简单地将~/Dropbox/DOTFILES/vim
符号链接到~/.vim
也可以,但我希望能够让机器上的特定内容保留在这台机器上。例如,观点。
我的.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分钟,我想,保持最新状态是完全没有用的。