¿Cómo obtener el menú de aplicación global para gvim?

34

Gvim no tiene un menú global (menú de aplicación / menú de aplicaciones) en 12.04, y al iniciar gvim desde un terminal, aparece la siguiente advertencia en el terminal después de 25 segundos:

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

¿Cómo arreglar esto?

Håkon A. Hjortland
fuente

Respuestas:

35

Solución 1: haga que el menú global para gvim funcione

Para obtener el menú global de gvim y deshacerse del mensaje de advertencia, agregue esto a ~ / .bashrc y reinicie el terminal:

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

Solución 2: deshabilite el menú global para gvim

Para deshacerse del mensaje de advertencia, puede desactivar el menú global, al menos para gvim:

Por ejemplo, agregue esto a ~ / .bashrc y reinicie el terminal:

alias gvim='UBUNTU_MENUPROXY= gvim'

Referencias

Håkon A. Hjortland
fuente
¿Por qué las citas alrededor de 'todos los argumentos'?
xtofl
lo siento. Me preguntaba por qué hay comillas "$@"en la función .bashrc.
xtofl
@xtofl: Sin las comillas alrededor de "$ @" tiene problemas con, por ejemplo, espacio y literal '*' en los argumentos.
Håkon A. Hjortland
Por interés, ¿podría explicar cómo y por qué funciona la primera solución?
ecatmur
1
@ecatmur: así es como funciona la solución 1: el error está relacionado con gvimla forma de entrar en modo de fondo. gvim -fse mantiene gvimen primer plano. Para hacer que el shell se ejecute gvimen segundo plano, agregamos un &. El paréntesis en (foo &)ejecuta el comando en un subshell, por lo que gvimno se convierte en un proceso en segundo plano del shell actual. Sin paréntesis, cerrar la terminal haciendo clic en la X también mataría gvim. function foo () { ... }crea una función de shell. Debemos agregar /usr/bin/a gvim, de lo contrario obtendremos una función infinitamente recursiva. "$@"pasa todos los argumentos.
Håkon A. Hjortland
3

Mi Ubuntu 12.04 amd64 puede funcionar gvim -f.


  • vim-gnome: 2: 7.3.429-2ubuntu2.1 + aptbuild1
  • terminador: 0.96-0ubuntu1 + aptbuild1
  • guake: 0.4.2-7 + aptbuild1
Chu-Siang Lai
fuente
2

Puedo agregar la opción -f( --nofork) cuando empiezo gvim:

alias gvim="gvim -f"

Esto solo funciona para gvim.
firefoxy otros no tienen esta -fopción.

kev
fuente
0

Otra posible causa podría ser el ~/.gnome2/Vimarchivo. Esta solución (lo que sugiere que borre ~/.gnome2/Vim) para la emisión de Hardy Heron (antes Unidad) fijó el problema para mí en Ubuntu 13.10.

Por alguna razón, gvim -fno funcionó para mí.

Umang
fuente