我经常在不同的应用程序之间切换,希望每个项目都有自己的配色方案,这样更容易区分它们。
我想在我的 .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
我经常在不同的应用程序之间切换,希望每个项目都有自己的配色方案,这样更容易区分它们。
我想在我的 .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
只要您不想在单个 Vim 实例中混合不同的项目(颜色方案只能全局设置,不能用于单个窗口!),转换为 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。
对于项目设置,请考虑使用项目插件:对于每个项目,您可以指定一个in.vim
文件,每次打开该项目的文件时都会执行其内容。
在那里设置配色方案非常容易。
使用项目插件还可以让您为每个单独的项目设置其他项目相关设置:
其他功能包括:
o 加载/卸载项目中的所有文件(\l、\L、\w 和 \W)
o 搜索项目中的所有文件(\g 和 \G)
o 运行用户指定的脚本在文件上(可用于在文件上启动外部程序)(\1 到 \9)
o 在项目中的所有文件上运行用户指定的脚本(\f1-\f9 和 \F1-\F9)
o 还可以与 netrw 插件一起使用目录名称,例如ftp://remotehost
(适合网页维护。)
o 支持用于版本控制集成的自定义映射(文档中的 perforce 示例)。
o 我还在文档中提供了一个示例,说明如何基于扩展设置自定义启动器。该示例在查看器中启动 *.jpg 文件。我还为我自己的使用设置了 PDF (acroread) 和 HTML 文件 (mozilla) 的查看器。