我经常在不同的应用程序之间切换,希望每个项目都拥有自己的colorscheme,因此更容易区分它们。
我想在我的.vimrc中添加如下内容,但我遇到了VIM脚本语法问题。
# if I were to write it in Ruby
case current_path
when '/path/to/project' then color textmate
when '/path/to/other_project' then color ir_black
end
答案 0 :(得分:4)
只要您不想在Vim的单个实例中混合使用不同的项目(colorschemes只能全局设置,而不是单个窗口!),这很容易转换为Vimscript:
if getcwd() ==# '/path/to/project'
colorscheme textmate
elseif getcwd() ==# '/path/to/other_project'
colorscheme ir_black
endif
对于广泛的配置,我可能会在循环中使用字典查找,但我保持这个故意简单。
要处理子目录,请使用它进行比较:
if stridx(getcwd(), '/path/to/project') == 0
您还可以通过=~#
代替==#
进行正则表达式匹配。
或者,还有一些本地vimrc 插件,它们允许您将项目特定的设置应用于某些子目录。我为此使用了localrc。
答案 1 :(得分:0)
对于项目设置,请考虑使用project plugin:对于每个项目,您可以指定in.vim
文件,其中每次打开此项目的文件时都会执行其内容。
设置colorscheme非常容易。
使用项目插件还可以为每个项目设置其他与项目相关的设置:
其他功能包括:
o加载/卸载项目中的所有文件(\ l,\ L,\ w和\ W)
o Grepping项目中的所有文件(\ g和\ G)
o在文件上运行用户指定的脚本(可以使用 在文件上启动外部程序)(\ 1到\ 9)
o在项目中的所有文件上运行用户指定的脚本 (\ f1- \ f9和\ F1- \ F9)
o还可以使用netrw插件使用目录 名称如ftp://remotehost
(适用于网页维护。)
o支持版本控制的自定义映射 整合(文档中的perforce示例) o我还在文档中给出了一个例子 根据扩展名设置自定义启动器。该 示例在查看器中启动* .jpg文件。我也定了 查看PDF(acroread)和HTML文件(mozilla) 供我自己使用。