英文:
Appending a new path to VIMRUNTIME variable
问题
我已经为特定文件扩展名开发了一个自定义语法高亮器和语法检测器。目前,在我手动复制必要的文件到$HOME/.vim/syntax
和$HOME/.vim/ftdetect
目录时,它可以正常工作。然而,我宁愿不直接修改主目录。
相反,我想将一个新的目录路径附加到VIMRUNTIME变量。这样,当我打开Vim时,它会首先在新目录中搜索语法文件,然后再返回到默认路径。
然而,当我设置了带有额外路径的VIMRUNTIME
变量时,Vim无法再定位默认的Vim文件。
是否有解决方案或变通方法,可以让我实现我期望的设置,同时不失去对默认Vim文件的访问权限?
英文:
I have developed a custom syntax highlighter and syntax detector for a specific file extension. Currently, it works fine when I manually copy the necessary files to $HOME/.vim/syntax
and $HOME/.vim/ftdetect
directories. However, I would prefer not to modify the home directories directly.
Instead, I would like to append a new directory path to the VIMRUNTIME variable. This way, when I open Vim, it would first search for syntax files in the new directory and then fall back to the default path.
However, when I set the VIMRUNTIME
variable with the additional path, Vim is no longer able to locate the default Vim files.
Is there a solution or workaround that would allow me to achieve my desired setup without losing access to the default Vim files?
答案1
得分: 1
以下是翻译好的部分:
假设你的插件看起来像这样:
/ foo / bar / ftdetect / xyz.vim
/ foo / bar / syntax / xyz.vim
可以尝试执行以下操作:
$ vim --cmd "set runtimepath^=/foo/bar"
这将在:help 'runtimepath'
之前添加/foo/bar
。
请注意,如果你的插件包含一个after
目录,你也需要追加它:
$ vim --cmd "set runtimepath^=/foo/bar" --cmd "set runtimepath+=/foo/bar/after"
但我建议你简单地将你的插件保存在~/.vim
目录下。那个目录真的是你自己的,是任何自定义的合适位置。
现在,如果你绝对想将你的vim脚本打包成更大的项目的一部分,那么你需要告诉你的用户在他们的vimrc
中添加类似这样的内容:
set runtimepath^=/foo/bar
set runtimepath+=/foo/bar/after
但再次强调,最好将你的支持脚本提交给Vim,以便它们包含在默认发行版中。
英文:
Assuming your plugin looks like this:
/foo/bar/ftdetect/xyz.vim
/foo/bar/syntax/xyz.vim
it is possible to do something like:
$ vim --cmd "set runtimepath^=/foo/bar"
which will prepend /foo/bar
to :help 'runtimepath'
.
Note that, if your plugin contains an after
directory, you will need to append it too:
$ vim --cmd "set runtimepath^=/foo/bar" --cmd "set runtimepath+=/foo/bar/after"
But I would suggest you simply keep your plugin under ~/.vim
. That directory is really yours and it is the proper place for any customization.
Now, if you absolutely want to package your vim scripts as part of some larger project, then you will need to instruct your users to add something like this to their vimrc
:
set runtimepath^=/foo/bar
set runtimepath+=/foo/bar/after
But again, it seems preferable to submit your support scripts to Vim so that they are included in the default distribution.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论