当我决定将函数移动到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知道正确的语法高亮使用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。