Bash 是否可以在vim modeline中添加关键字
例如,我的文件看起来像:Bash 是否可以在vim modeline中添加关键字,bash,shell,vim,modeline,Bash,Shell,Vim,Modeline,例如,我的文件看起来像: #! /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
#! /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
是否可以在modeline中使用syn,或者有其他方法吗?您不能直接这样做;只能在modeline中设置(缓冲区本地)选项。 选择1 如果这个附加关键字不是单个文件的专用关键字,而是适用于范围广泛的文件,我会定义一个自定义文件类型(例如,
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
要使用该自定义语法,您可以扩充默认的文件类型检测规则,或者在modeline中包含ft=mybash
选择2
如果这只是一个或几个文件的小调整,我会使用本地vimrc插件添加关键字
vim.org上有几个这样的插件;我可以推荐,它甚至允许特定于本地文件类型的配置。Vim模型线用于设置各种Vim
选项(请参见:help modeline
和:help options.txt
)。由于语法高亮显示是一个命令而不是一个选项,因此不能通过modeline指定它。但是,您可以为特定的文件名、文件类型、目录等设置语法高亮显示。只需使用自动命令(请参见:help au
)即可指定要匹配的文件模式和要执行的命令。此关键字对于单个文件是专用的。似乎我可以使用设置exrc
,然后在当前目录中添加一个.vimrc/.exrc/.gvimrc
,以替换本地imrc;.exrc
将是localrc插件的轻量级替代品;另见。