如果我使用set -o vi
启用bash的输入模式,然后按 Esc ,然后按 v ,我会得到一个vi窗口,允许我编辑一个临时文件这是我离开后执行的。在那个窗口中,我想享受Bash脚本的Vim语法高亮。执行:syntax enable
是不够的。问题可能与以下事实有关:临时文件没有.sh
结尾,也没有#!/bin/bash
头可用于确定文件类型。
答案 0 :(得分:8)
我会使用较短的配方:
au BufRead,BufNewFile bash-fc-* set filetype=sh
我相信这种类型的autocmd是处理文件类型分配的规范方式(至少,我的.vimrc有很多)。
@Eric Fortis,如果您有不同的理由,请请说明或纠正我。
答案 1 :(得分:7)
将此添加到您的.vimrc
if expand('%:t') =~?'bash-fc-\d\+'
setfiletype sh
endif
临时文件的格式为bash-fc-3537253897
,因此如果文件以bash-fc-
开头并且应用文件类型,则正则表达式匹配。