我正在重新组织我的.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
注意文件类型是什以及表示多个文件名的 * 通配符。
不确定为什么需要这两种设置。我尝试只使用一种设置,但需要两种组合才能正确突出显示。