bash – vim red highlight $()

前端之家收集整理的这篇文章主要介绍了bash – vim red highlight $()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我决定将函数移动到lib文件时,我正在编写脚本,但是当我打开lib文件时,所有$(和连续的)都是红色突出显示的,这里有一些脚本示例
TAB="$(printf '\t')"
percent=$(echo "scale=2; $number/$total*100" | bc | sed -e 's/\.[[:digit:]]*//g')
if [[ -z $(grep $site/post $max_lim) ]];then

文件类型是conf,但我在.vimrc中将其设置为sh语法

知道发生了什么?

谢谢

编辑:感谢您的快速解答,我发现这行使得vim与*后面指定的扩展名的文件匹配,语法为sh

au BufReadPost * set Syntax=sh

我也认为不允许在库中使用shebang,但这是一个很好的解决方

无论如何在.vimrc中使用g:is_bash会返回找不到模式的错误

所以我想做的是因为我只用bash写,vim识别任何没有扩展名的文件作为bash

sh的语法文件实际上处理了几种不同的shell语法:bash,ksh和plain old sh.由于您的conf文件未被识别为bash或ksh,因此它会回退到sh. $(…)不是sh中的有效构造,因此它会突出显示错误.

解决此问题,您可以确保为文件设置了“g:is_bash”,以便sh语法脚本知道您的文件应该突出显示为bash代码.请编辑您的问题以包含您添加到.vimrc中的内容,以使文件使用sh语法突出显示.这样可以更容易地建议设置“g:is_bash”的正确方法.

更新:正如Alok评论的那样,您应该能够将以下内容添加文件

#!/bin/bash

让vim知道正确的语法高亮使用.

猜你在找的Bash相关文章