Come ottenere il menu dell'applicazione globale per gvim?


34

Gvim non ha un menu globale (menu app / menu applicazioni) in 12.04 e quando si avvia gvim da un terminale, dopo 25 secondi appare il seguente avviso nel terminale:

** (gvim:20320): WARNING **: Unable to create Ubuntu Menu Proxy: Timeout was reached

Come risolvere questo?

Risposte:


35

Soluzione 1: rendere operativo il menu globale per gvim

Per ottenere il menu globale per gvim e per eliminare il messaggio di avviso, aggiungilo a ~ / .bashrc e riavvia il terminale:

function gvim () { (/usr/bin/gvim -f "$@" &) }

Soluzione 2: disabilitare il menu globale per gvim

Per sbarazzarsi del messaggio di avviso, è possibile disabilitare il menu globale, almeno per gvim:

Ad esempio, aggiungi questo a ~ / .bashrc e riavvia il terminale:

alias gvim='UBUNTU_MENUPROXY= gvim'

Riferimenti


perché le virgolette intorno a "tutti gli argomenti"?
xtofl,

spiacente. Mi chiedevo perché ci siano delle virgolette "$@"nella funzione .bashrc.
xtofl,

@xtofl: Senza le virgolette intorno a "$ @" hai problemi con ad es. spazio e '*' letterale negli argomenti.
Håkon A. Hjortland l'

Per interesse, potresti spiegare come e perché funziona la prima soluzione?
ecatmur,

1
@ecatmur: Ecco come funziona la soluzione 1: il bug è legato al gvimmodo di entrare in modalità background. gvim -fmantiene gvimin primo piano. Per far funzionare la shell gvimin background aggiungiamo un &. La parentesi in (foo &)esegue il comando in una subshell, in modo che gvimnon diventi un processo in background della shell corrente. Senza parentesi, anche la chiusura del terminale facendo clic sulla X ucciderebbe gvim. function foo () { ... }crea una funzione di shell. Dobbiamo aggiungere /usr/bin/a gvim, altrimenti avremo una funzione infinitamente ricorsiva. "$@"passa tutti gli argomenti.
Håkon A. Hjortland,


3

Il mio Ubuntu 12.04 amd64 può funzionare con gvim -f.


  • vim-gnome: 2: 7.3.429-2ubuntu2.1 + aptbuild1
  • terminatore: 0.96-0ubuntu1 + aptbuild1
  • falso: 0.4.2-7 + aptbuild1

2

Posso aggiungere l' opzione -f( --nofork) all'avvio gvim:

alias gvim="gvim -f"

Questo funziona solo per gvim.
firefoxe altri non hanno questa -fopzione.


0

Un'altra potenziale causa potrebbe essere il ~/.gnome2/Vimfile. Questa soluzione (che suggerisce di eliminare ~/.gnome2/Vim) per il problema in Hardy Heron (prima di Unity) risolto il problema per me su Ubuntu 13.10.

Per qualsiasi motivo, gvim -fnon ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.