如何在 vim 中启用 .bash_aliases 的语法高亮?

如何在 vim 中启用 .bash_aliases 的语法高亮?

我正在重新组织我的.bashrc。我将我的别名移至.bash_aliases(源自.bashrc,但我不知道如何为该文件启用语法突出显示。vim似乎无法弄清楚该文件使用的是什么语言。它适用于.bashrc。有什么想法吗?

答案1

转到 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)添加到其中。

就是这样,现在它可以工作了。

答案2

答案是这样的:vimdoc-setf但是,如果您只是希望语法和语法突出显示能够正常工作,您可以执行以下操作:

  :setf bash

我在回答另一个 VIM 问题时意识到的另一种可能性是,你也可以将此部分添加到你的.vimrc文件,它将自动启用语法高亮.bash_别名每次编辑文件时,无需使用模式行或手动输入:setf 命令每次打开文件时。

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

第三,正如下面的评论中 Mugen Kenichi 指出的那样,您还可以向.bash_别名文件也同样如此:

# vim: set filetype=bash: 

答案3

将以下行添加到 ~/.vimrc (如果不存在则创建)。

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

答案4

继续关注 @Pharaun 对 vim 8 和多个别名文件的回答。为了正确突出显示,我必须进行两项设置。首先在新的 .bash_aliases 文件中:

# vim: set filetype=bash

以及检查我的 .vimrc

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

注意文件类型是以及表示多个文件名的 * 通配符。

不确定为什么需要这两种设置。我尝试只使用一种设置,但需要两种组合才能正确突出显示。

相关内容