是否可以使用名为 vimfiles 的文件夹来替换 macvim 中的 .vim?

发布于 2024-10-26 09:41:18 字数 306 浏览 8 评论 0原文

我在家使用 MacVim,工作时在 Windows 中使用 gvim。由于我使用 git 同步我的 vim 设置,因此我希望这些设置位于名为 vimfiles 的同一文件夹中。我在 .gvimrc 中设置了运行时路径,如下所示:

set runtimepath=~/vimfiles/,$VIMRUNTIME

但是 ~/vimfiles/plugin 中的插件似乎没有被 MacVim 加载。我做错了什么吗?

是不是因为vimfiles中的子文件夹没有递归添加到runtimepath中?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

九局 2024-11-02 09:41:18

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

这是来自 Vim wiki

在混合操作系统环境中,一个有用的 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 主机之间进行同步。

I'm not sure why you are worried about forcing Vim on MacOS to understand Window's file-naming convention, when Vim can do the right thing and use the standard '.' naming on Windows too. You're going against the flow.

This is from the Vim wiki:

One helpful Vim setting in a mixed-OS environment is to use .vim for Vim user settings also for Windows systems (Vim automatically picks up a .vimrc config file instead of _vimrc by default). The following snippet in .vimrc will do the trick, and thus allow you to synchronize without directory renaming:

" On Windows, also use '.vim' instead of 'vimfiles'; this makes synchronization
" across (heterogeneous) systems easier.

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

That's what I did on my WinXP machine at work, and I synchronize between my Mac, XP and about five Linux hosts by copying a tarball across.

⊕婉儿 2024-11-02 09:41:18

只需将 ~/.vim 设为指向 ~/vimfiles 目录的符号链接,它就可以完美地工作。

Just make ~/.vim a symbolic link to your ~/vimfiles directory and it should work beautifully.

摇划花蜜的午后 2024-11-02 09:41:18

根据 :h 初始化,加载插件脚本(搜索 ^4\.)是在执行特定于 GUI 的初始化(搜索 ^8\ .),所以你应该将此行放入 ~/.vimrc 中,而不是放入 ~/.gvimrc 中。

According to the :h initialization, loading plugin scripts (search for ^4\.) is done before GUI-specific initializations are performed (search for ^8\.), so you should place this line into ~/.vimrc, not into ~/.gvimrc.

情话墙 2024-11-02 09:41:18

您是否尝试过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)。所有 autoloadbundle 等文件夹都位于我的 DropBox 的 DOTFILES/vim 子文件夹中,并符号链接到 ~/.vim /autoload~/.vim/bundle~/.vim/syntax 等。

只需符号链接 ~/Dropbox/DOTFILES/vim< /code> 到 ~/.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 分钟,并且保持整个内容最新是完全毫不费力的。

Did you try set runtimepath+=/path/to/vimfiles (note the +=)? Also it's possible that you need to do that for all the subfolders.

Since you are using Git, you may set the working directory to ~/.vim on the Mac and whatever it is on the Windows machine making the name of the folder irrelevant.

$ git config worktree /Users/username/.vim

I use DropBox to sync my ~/.vim folders on all my machines (Mac@work, Mac@home, Ubuntu@home and a Linode VPS somewhere). All the autoload, bundle, etc. folders are in a DOTFILES/vim subfolder of my DropBox and symlinked to ~/.vim/autoload, ~/.vim/bundle, ~/.vim/syntax, etc.

Simply symlinking ~/Dropbox/DOTFILES/vim to ~/.vim would work, too, but I wanted to keep the ability to have things specific to a machine stay on this machine. Views, for example.

My .vimrc contains only these few lines:

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>

Setting it up on a new machine would take 2 or 3 minutes max, I guess, and keeping the whole thing up to date is totally effortless.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文