例如,我的文件如下:
#! /bin/bash
verbose()
{
[ "$VERBOSE_FLAG" == 'yes' ] &&
{
[ $# == 0 ] || echo $@
return 0
} || return 1
}
verbose display in verbose mode
# make verbose highlight as a keyword
# vim: syntax keyword Keyword verbose
是否可以在模式中使用syn或者有其他替代方法吗?
答案 0 :(得分:4)
你不能直接这样做;只能(缓冲区本地)选项可以在模式行中设置。
如果这个附加关键字对于单个文件并不特殊,但适用于各种文件,我定义自定义文件类型(例如mybash
),并且~/.vim/syntax/mybash.vim
中添加了其他关键字:
" mybash is a kind of shell syntax
runtime! syntax/sh.vim syntax/sh/*.vim
" Add keyword.
syntax keyword mybashKeyword verbose
要使用该自定义语法,您可以扩充默认的文件类型检测规则,或在模式行中包含ft=mybash
。
如果这只是对一个或几个文件的一个小调整,我会使用本地vimrc 插件来添加关键字。
vim.org上有几个这样的插件;我可以推荐localrc plugin,它甚至允许本地文件类型特定的配置。
答案 1 :(得分:0)
Vim模型用于设置各种vim options
(请参阅:help modeline
和:help options.txt
)。由于语法突出显示是命令而不是选项,因此无法通过模式行指定。但是,您可以为特定文件名,文件类型,目录等设置语法突出显示。只需使用自动命令(请参阅:help au
)指定要匹配的文件模式和要执行的命令。