0

我正在使用我每天多次从终端使用的警报脚本来快速提醒。无论如何,这个 var 赋值:

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 alarm\nor enter a number of minutes\nthe alarm should snooze." --button="gtk-cancel:1" --button="gtk-ok:0"|sed -r 's/^([0-9]{1,})\|[ ]*$/\1/')

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

我借用了管道yad命令直通的想法,wmctrl以更好地控制窗口几何形状,这在此处的另一篇文章中很棒,但当然没有提及潜在的副作用。我想对应用程序的窗口位置进行精细控制,但在保持文档突出显示的同时这样做会很好。

我确实尝试重新排列管道和子外壳,看看我是否可以让它以另一种不干扰我的 vim 突出显示的方式工作,但是除了这种方式之外,我没有任何喜欢的方式。

4

1 回答 1

3

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

killOrSnz=$( (sleep .1; ... )
于 2014-07-11T19:59:49.037 回答