2014-02-27 16 views
5

我有时会同时使用qt creator和vim进行C++编程。当一个文件在vim中被更改,并且焦点返回到qt创建者, 它会提示我接受或拒绝vim所做的更改,我一直选择yes。如何在Linux中自动关闭对话窗口?

没有选择,因为据我所知,Qt Creator中不提示用户接受,所以我创建了一个bash脚本来解决这个问题:

#!/bin/bash 

while true 
do 
    myw=$(xdotool getactivewindow) 
    mywinprop=$(xprop -id ${myw}) 
    if [[ \ 
     $(echo "$mywinprop" | egrep 'NET_WM_NAME.*File Changed') && \ 
     $(echo "$mywinprop" | egrep 'WM_CLASS.*qtcreator') \ 
     ]] 
    then 
     xvkbd -xsendevent -text "\r" >/dev/null 2>&1 
    else 
     sleep 0.5 
    fi 
done 

它工作正常,提示对话出现然后很快消失,但仍然很烦人。我想知道是否有更好的方法来做到这一点。 (我已经提交了一个功能请求,但不知道他们会执行此操作。)

该解决方案可能适用于许多类似的情况。

+0

我喜欢你的解决方案;)但是:你不应该在两个不同的编辑器同时编辑同一个文件。 – Flopp

回答

0

首先,不应该假设我站在两边。现在,尝试在Linux中使用纳米文本编辑器。您可以直接从终端编辑您的代码,并用简单的ctrl + o命令将变化写入磁盘,或者使用ctrl + x命令进行转义。它在linux中内置。这是链接。 nano-editor.org