web-dev-qa-db-ja.com

シバンラインのないbashスクリプトに完全なvimカラー化を適用する

したがって、私のプロジェクトには、ソースが設定されているが直接実行されることのないbashスクリプトファイルが多数あるため、Shebang行や実行ビットが設定されていません。 Vimはそれらを少し着色しますが、完全な色付けは使用しません。これらのファイルの通常のbashカラーをすべて表示するようにvimを微調整するにはどうすればよいですか?

編集:

シバンなし:

Without Shebang

シバンの場合:

With Shebang

編集2:

以下にファイルごとの変更に有効な答えがあります。それがすべて取得できる場合はそれを使用しますが、私が本当に望んでいるのは、vimインストールで構成ファイルなどを変更することです。シバンがなくても、常に「シバン付き」のフルカラーが得られます。不完全な色付けを定義するファイルがどこかにあるはずです。これは、完全な色付けを定義するファイルに置き換えることができます。

編集3:

これらの画像(_:let g:_の出力)に見られるように、vimグローバル変数セットは実質的に違いはありません。

環境

異なる

私はここでちょっと途方に暮れています。

編集4:

適切な色のウィンドウ(左)と不適切な色のウィンドウ(右)から環境全体をダンプし、それらを比較して、次のことを見つけました。

_60 b:current_syntax       bash   |   61 b:current_syntax       conf
_

したがって、何らかの理由で、私のシェバンレスソースファイルはconfファイルであると考えられます。したがって、代わりにそれらをbashに一致させる方法を理解する必要があります。

2
ACK_stoverflow

実行:setf sh

これをファイルの先頭に配置することをお勧めします(Shebangが必要ない場合):

# vim:ft=sh
3
user530873

プット

let g:is_bash      = 1

.vimrcで。これにより、不明なシェルスクリプトのデフォルトのファイルタイプがbashに設定されます。 :help ft-bash-syntax の完全な説明を参照してください

内部に興味がある人のために、少なくとも私のVim 7.4インストールでは、g:is_bash$VIM/vim74/filetype.vimの自動コマンドでテストされ、それに応じてb:is_bashが設定されます。次に、構文ファイル$VIM/vim74/syntax/sh.vimb:is_bashをテストして、ファイルを強調表示する方法を決定します。

0
cxw