覆盖我的一个项目的ftplugin设置的最佳方式是什么,即特定目录下的文件?覆盖一个目录下的文件的ftplugin
例如,我在我的〜/ .vim/ftplugin/javascript.vim中设置了setlocal tabstop = 4,因为我公司所有的项目都有这个空白策略。
但是在一个个人项目中,我想在我的.js文件中使用tabstop = 2。
我知道我可以在该项目的目录中放置一个自定义的.vimrc文件,并启用vim的exrc选项以使其读取.vimrc文件。这是最好的方法吗?
覆盖我的一个项目的ftplugin设置的最佳方式是什么,即特定目录下的文件?覆盖一个目录下的文件的ftplugin
例如,我在我的〜/ .vim/ftplugin/javascript.vim中设置了setlocal tabstop = 4,因为我公司所有的项目都有这个空白策略。
但是在一个个人项目中,我想在我的.js文件中使用tabstop = 2。
我知道我可以在该项目的目录中放置一个自定义的.vimrc文件,并启用vim的exrc选项以使其读取.vimrc文件。这是最好的方法吗?
set exrc
将读取当前目录中的.vimrc文件,但也会读取.vim目录下的结构。所以,你可以添加
myproject/.vim/after/ftplugin/javascript.vim
到您的项目;当你打开myproject
目录中的文件时,它会像你的本地文件一样工作。
谢谢。我知道使用这种方法对安全性有一些担忧。你认为这是最安全的方法吗? – acksys 2013-04-25 03:45:13
@acksys:说实话,我只将这种方法用于项目特定的语法高亮。 – Akobold 2013-04-25 14:19:16
有一个'set secure'选项,它试图阻止从这些本地文件执行更危险的代码,我想。 – MichaelJones 2014-12-24 13:54:11
我为此使用了localrc.vim - Enable configuration file of each directory插件。它不仅允许获取“本地.vimrc”文件,还可以为特定子目录提供特定于文件类型的设置(默认情况下,这些文件被命名为.local.{filetype}.vimrc
)。
您的问题是重复的:http://stackoverflow.com/questions/456792/vim-apply-settings-on-files-in-directory?rq=1 – 2013-04-24 17:46:37
是吗?我问的是重写ftplugin行为,而不仅仅是.vimrc文件。 – acksys 2013-04-25 03:42:43
您正在询问有关覆盖特定目录中文件的vim设置。除非您想在激活某些设置之前检查文件类型,否则您将得到相同的答案。 其他讨论中缺少的唯一东西是.exrc仅限于一个目录,而plugin-solutions更改整个目录层次结构中的设置。 快速覆盖.vimrc或ftplugin之间的区别没有任何意义:请参阅这两个_vimrc_local * .vim文件:https://github.com/LucHermitte/Rasende。他们定义项目设置(项目dirs,映射,...), – 2013-04-25 11:02:07