var赋值中的Subshell阻止了正确的文档高亮显示



我正在编写一个警报脚本,我每天在终端上多次使用它来快速提醒。总之,这个变量赋值:

killOrSnz=$((sleep .1 ; wmctrl -r yadAC -e 0,6,30,0,0) | yad --title yadAC --image="$imgClk" --text "Alarm:n${am}" --form --field="Hit Enter key to stop the alarmnor enter a number of minutesnthe alarm should snooze." --button="gtk-cancel:1" --button="gtk-ok:0"|sed -r 's/^([0-9]{1,})|[ ]*$/1/')

让我悲伤。var工作得很好,正如预期的那样,除了它下面的所有代码不再在我的vim会话中突出显示,让我的眼睛仅仅看它就疼,更不用说扫描问题或进行更改了。

我借用了yad命令通过wmctrl管道的想法来更好地控制窗口的几何形状,这在这里的另一个帖子中是很好的,但是当然没有提到潜在的副作用。我想对应用程序的窗口位置保持良好的控制,但在保持文档突出显示的同时这样做会很好。

我确实试着重新安排管道和子shell,看看我是否能让它以另一种方式工作,而不干扰我的vim高亮显示,但没有任何爱,除了这种方式。

VIM的解析器似乎被$((欺骗了,将其误认为是算术表达式的开始,而不是第一个字符是括号的命令替换。由于没有匹配的)),着色剂对什么是什么感到困惑。尝试在两个打开的父元素之间添加显式的空格:

killOrSnz=$( (sleep .1; ... )

相关内容

  • 没有找到相关文章

最新更新