![我怎样才能消除 Windows 中“vimfiles”文件夹的依赖关系?](https://linux22.com/image/1492588/%E6%88%91%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E6%B6%88%E9%99%A4%20Windows%20%E4%B8%AD%E2%80%9Cvimfiles%E2%80%9D%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%EF%BC%9F.png)
我linux
可以将我的colors
/ syntax
/bundle
文件夹直接放入其中,.vim
但在 Windows 上这似乎不起作用,它强迫我将它们放入名为的子目录中vimfiles
。
我将尝试形象化我想要实现的目标,这是我当前在 Windows 上 vim 的文件夹结构:
vim
|-- vim74
| |-- vim.exe
| `-- etc
`-- vimfiles
|-- colors
`-- etc
我在 Linux 上使用的结构,如何使其在 Windows 上运行?
vim
|-- vim74 (this folder doesnt exist on linux ;))
| |-- vim.exe
| `-- etc
|-- colors
`-- etc
为什么 vim 在 Windows 上需要不同的文件夹结构?
答案1
Windows 不会隐藏名称包含前导点的文件和文件夹。我不记得为什么决定将用户运行时目录vimfiles
放在 Windows 下,但事实确实如此。
不知道您为什么要更改该依赖项(我假设您的意思是更改而不是删除),我只能告诉您必须修改“runtimepath”选项。只需添加您自己的首选目录即可:
:set runtimepath^=~/.vim runtimepath+=~/.vim/after
或者按照上面的方法,和删除默认的用户运行时目录:
:set runtimepath-=~/vimfiles runtimepath-=~/vimfiles/after
看:
:help 'runtimepath'
答案2
这是您应该拥有的目录结构:
Linux Windows
$HOME %USERPROFILE%
└─ .vim └─ vimfiles
├─ after ├─ after
├─ autoload ├─ autoload
├─ colors ├─ colors
... ...
里面的目录结构相同.vim
,vimfiles
因此您不需要调整任何内容。
答案3
使用%HOMEPATH%/viminfo
或~/.vim
,显然包含_vimrc
或.vimrc
(Windows 与 Linux 两者)内置于 (g)vim 可执行文件中。我知道移动它们的唯一选项是:
将路径
vimrc
作为参数添加到可执行文件中:gvim.exe -u c:/path/to/your/viminfo/_vimrc
在里面
_vimrc
添加一行来指示 vim 你的viminfo
文件夹不在默认位置:set viminfo=c:/path/to/your/viminfo (alternatively use += to not overwrite)
Vim 现在将在该目录中查找您的插件和其他支持文件。
执行#1,但在批处理文件中,以便您可以拥有它的快捷方式。
在 Windows 上,Vim 将加载
_vimrc
与可执行文件共置的。修改它以更改您的位置vimrc
并设置 viminfo 路径。请注意,在多用户机器上这不是一个好主意。在 Windows 上从源代码重建 vim;更改源代码中设置的位置。这实际上并不难,假设您有构建软件的经验。
我确信还有其他选择。