3

たとえば、私のファイルは次のようになります。

#! /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 を使用することは可能ですか、または別の方法はありますか?

4

2 に答える 2

4

直接行うことはできません。モードラインでは (バッファローカル) オプションのみを設定できます。

オプション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

そのカスタム構文を使用するには、デフォルトのファイルタイプ検出ルールを拡張するかft=mybash、モードラインに含めます。

オプション 2

これが 1 つまたはいくつかのファイルの微調整にすぎない場合は、ローカルの vimrcプラグインを使用してキーワードを追加します。

vim.org にはそのようなプラグインがいくつかあります。localrc pluginをお勧めします。これにより、ローカル ファイルタイプ固有の構成も可能になります。

于 2014-01-22T08:48:25.503 に答える
0

Vim モードラインは、さまざまな vim を設定するために使用されます (およびoptionsを参照)。シンタックスハイライトはオプションではなくコマンドなので、モードラインから指定することはできません。ただし、特定のファイル名、ファイル タイプ、ディレクトリなどに対して構文の強調表示を設定することはできます。自動コマンド (「参考文献」を参照) を使用して、照合するファイル パターンと実行するコマンドを指定するだけです。:help modeline:help options.txt:help au

于 2014-01-22T08:48:46.847 に答える