在Bash vi输入模式下突出显示语法

时间:2011-08-18 23:22:44

标签: bash vim vi

如果我使用set -o vi启用bash的输入模式,然后按 Esc ,然后按 v ,我会得到一个vi窗口,允许我编辑一个临时文件这是我离开后执行的。在那个窗口中,我想享受Bash脚本的Vim语法高亮。执行:syntax enable是不够的。问题可能与以下事实有关:临时文件没有.sh结尾,也没有#!/bin/bash头可用于确定文件类型。

2 个答案:

答案 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-开头并且应用文件类型,则正则表达式匹配。