Leve o gvim para frente quando eu abrir uma nova aba a partir da linha de comando

0

Eu gosto do meu comando vi para abrir o arquivo no Gvim e abri-lo em uma nova aba se o Gvim já estiver rodando.

function vi {
    if [[ -z $@ ]]; then
        gvim 
    elif [[ ${1:0:1} = - ]]; then
        gvim "$@"
    else
        gvim --remote-tab-silent "$@"
    fi
}

Isso funciona, mas quando eu especifico um nome de arquivo e ele é aberto em uma instância existente do Gvim, ele não traz a janela para a frente como no Mac ou no Windows.

Como posso fazer com que, quando eu insiro o comando "vi file.txt" no terminal, ele torne a janela ativa do Gvim?

    
por Matt Gregory 21.06.2014 / 15:07

2 respostas

1

Bem, um pouco sujo, isso pode ser feito usando xdotool .

Adicione isso ao seu script:

    xdotool windowfocus 'xdotool search --name "/* - GVIM"' && xdotool windowraise 'xdotool search --name "/* - GVIM"'

Pesquise uma janela chamada "[Something] - GVIM" e aumente-a. Talvez você possa selecionar a janela com um título mais específico usando nome de arquivo e regex, por exemplo.

    xdotool windowfocus 'xdotool search --name "^$filename\s\+\s\(~\)\s-\sGVIM"' && xdotool windowraise 'xdotool search --name "^$filename\s\+\s\(~\)\s-\sGVIM"'

Mas, xdotool deve ser baixado primeiro de apt-get . Digite sudo apt-get install xdotool no terminal.

    
por Abdillah 21.06.2014 / 16:33
0

Eu também uso o xdotool. Um script simples ajuda:

#!/bin/bash
gvim -p --remote-tab $@ ; xdotool search --name "/* - GVIM" windowactivate
    
por Serg Stetsuk 06.02.2018 / 13:12