我正在编写一个警报脚本,我每天在终端上多次使用它来快速提醒。总之,这个变量赋值:
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; ... )