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

hig*_*guy 8 vi vim bash

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

Joh*_*art 8

我会用较短的配方:

au BufRead,BufNewFile bash-fc-* set filetype=sh
Run Code Online (Sandbox Code Playgroud)

我相信这种类型的autocmd是处理文件类型赋值的规范方法(至少,我的.vimrc有很多).

@Eric Fortis,如果您有不同的原因,请发信号或纠正我.


Eri*_*tis 7

将此添加到您的 .vimrc

if expand('%:t') =~?'bash-fc-\d\+'
  setfiletype sh
endif
Run Code Online (Sandbox Code Playgroud)

临时文件具有这种形式bash-fc-3537253897,因此如果文件以文件开头bash-fc-并且应用文件类型,则正则表达式匹配.