vimで.bash_aliasesの構文強調表示を有効にするにはどうすればよいですか?


19

私は私の組織の再編成に取り組んでい.bashrcます。エイリアスを移動しました.bash_aliases(ソースはですが.bashrc、このファイルの構文強調表示を有効にする方法がわかりvimません。ファイルの言語を判別できないよう.bashrcです。

回答:


12

vimに移動して実行します:

:echo $VIMRUNTIME

通常、値は次のようになります
。/ usr / share / vim / vim72
次に、ファイル(rootを使用して)を編集します/usr/share/vim/vim72/filetype.vim
bashrcを検索します。
次のような行があります。

au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,*.bash,*.ebuild call SetFileTypeSH("bash")


行を編集して、ファイル名(.bash_aliases)を追加します。

これで、動作するはずです。


パーフェクト!これで私の問題が解決しました。
マシュー

5
vimディストリビューション(/ usr / share / vim内のファイル)を編集しないでください。vimを更新すると、変更が上書きされる場合があります。代わりに、同じことを行う独自のスクリプトを作成する必要があります(または、vimrcにその行を追加するとそれが実行されます)。
idbrii

11

答えは次のとおりですvimdoc-setf、ただし、構文と構文の強調表示を機能させるだけの場合は、骨を投げます:

  :setf bash

別のVIMの質問に答えているときに気付いた別の可能性は、このセクションを.vimrcファイルに追加することもでき、モードラインを必要とせずに手動で編集するたびに.bash_aliasesファイルの構文強調表示が自動的に有効になることですファイルを開くたびに:setf bashと入力します。

if has("autocmd")
  augroup bashalias
    autocmd BufRead,BufNewFile .bash_aliases set filetype=bash
  augroup END
endif

第三に、以下のコメントの無限健一が指摘しているように、.bash_aliasファイルにモードラインを追加することもできます。

# vim: set filetype=bash: 

および/またはbashファイルにモード
matthias krull

@Mugen Kenichi-ああ、いいキャッチ!私は決してモードラインを使用しませんが、以前にファイルで見ました。
ファラウン

3
これは本当に助かりました、ありがとう。私がしなければならなかったことの一つは、私が代わりにbashののSHにファイルタイプを設定しなければならなかったが、それは同様に私の問題を解決するだろうと私はおそらくちょうど、代わりに良い、bashのvimのファイルを見つける必要があります:P
ICCO

cygwinのVIM 7.3は、「filetype = bash」についても知りません。filetype.vimを読むと、他のすべてのbashパターンのファイルタイプとして「sh」が使用されます。
ボグダンカルマック

.vimrc編集はより信頼性が高いと思いますが、VIMモードラインは素晴らしいです!ありがとう。
週間

1

〜/ .vimrcに次の行を追加します(存在しない場合は作成します)。

au BufNewFile,BufRead .bash_aliases call SetFileTypeSH("bash")

0

vim 8および複数のエイリアスファイルに関する@Pharaunの回答をフォローアップします。強調表示を正しくするために、2つの設定が必要でした。最初に新しい.bash_aliasesファイルで:

# vim: set filetype=bash

私の.vimrcのチェックと同様に

if has("autocmd")
  augroup bashalias
    autocmd BufRead,BufNewFile *_aliases set filetype=sh
  augroup END
endif

ファイルタイプがshであり、複数のファイル名の*ワイルドカードであることに注意してください。

これらの両方の設定が必要な理由がわかりません。設定を1つだけ使用しようとしましたが、強調表示を正しくするには両方のコンボが必要でした。


vim 8を使用していますが、モードラインは必要ありません(#vim ...)。私のvimrcでファイルタイプをshに設定するだけでうまくいきます。どういうわけか、ファイル形式はいけないbashちょうどsh
ジンハオ市
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.