Як отримати глобальне меню програми для gvim?


34

Gvim не має глобального меню (меню додатків / додатків) в 12.04, а при запуску gvim з терміналу наступне попередження з’являється в терміналі через 25 секунд:

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

Як це виправити?

Відповіді:


35

Рішення 1: Складіть глобальне меню для роботи gvim

Щоб отримати глобальне меню для gvim та позбутися попереджувального повідомлення, додайте це до ~ / .bashrc та перезапустіть термінал:

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

Рішення 2: Вимкнути глобальне меню для gvim

Щоб просто позбутися попереджувального повідомлення, ви можете вимкнути глобальне меню, принаймні для gvim:

Наприклад, додайте це до ~ / .bashrc та перезапустіть термінал:

alias gvim='UBUNTU_MENUPROXY= gvim'

Список літератури


чому цитати навколо "всіх аргументів"?
xtofl

вибачте. Мені було цікаво, чому навколо "$@"функцій .bashrc є цитати .
xtofl

@xtofl: Без лапок навколо "$ @" у вас виникають проблеми, наприклад, пробіл і буквальний аргумент "*".
Håkon A. Hjortland

Чи не могли б ви пояснити, як і чому працює перше рішення?
екатмур

1
@ecatmur: Ось як працює рішення 1: Помилка пов'язана зі gvimспособом переходу у фоновий режим. gvim -fтримає gvimна передньому плані. Щоб оболонка працювала gvimу фоновому режимі, ми додаємо &. В круглих дужках (foo &)команда виконує команду в підрозділі, щоб gvimне стати фоновим процесом поточної оболонки. Без дужок закриття терміналу натисканням на X також знищить gvim. function foo () { ... }створює функцію оболонки. Ми повинні додати /usr/bin/до gvim, в іншому випадку ми отримаємо нескінченно рекурсивную функцію. "$@"передає всі аргументи.
Håkon A. Hjortland


3

Моя Ubuntu 12.04 amd64 може працювати gvim -f.


  • vim-gnome: 2: 7.3.429-2ubuntu2.1 + aptbuild1
  • термінатор: 0,96-0ubuntu1 + aptbuild1
  • guake: 0.4.2-7 + aptbuild1

2

Я можу додати параметр -f( --nofork) під час запуску gvim:

alias gvim="gvim -f"

Це працює лише для gvim.
firefoxта інші не мають такої -fможливості.


0

Іншою можливою причиною може бути ~/.gnome2/Vimфайл. Це рішення (яке пропонує видалити ~/.gnome2/Vim) для проблеми в Hardy Heron (до Unity) вирішило проблему для мене на Ubuntu 13.10.

З якоїсь причини gvim -fмені не вийшло.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.