web-dev-qa-db-ja.com

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

.bashrcの再編成に取り組んでいます。エイリアスを.bash_aliasesに移動しました(これは.bashrcから提供されていますが、このファイルの構文の強調表示を有効にする方法がわかりません。vimはどの言語を理解できないようです。ファイルが入っています。.bashrcで問題なく動作します。何かアイデアはありますか?

19
Matthew

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)を追加します。

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

12
Iftach Bar

答えは次のとおりです。 vimdoc --setf ただし、構文と構文の強調表示を機能させたい場合は、次のようにします。

  :setf bash

別のVIMの質問に答えていたときに気付いたもう1つの可能性は、このセクションを。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: 
11
Pharaun

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

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

Vim8と複数のエイリアスファイルに対する@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つの設定だけを使用しようとしましたが、強調表示を正しくするには両方のコンボが必要でした。

0
Shadoath