Как включить меню GUI в Vim (с iTerm)

Я хочу иметь возможность использовать этот плагин Vim, который добавляет меню в верхнюю строку меню.

Из https://github.com/vim-scripts/Headlights

Моя конфигурация компиляции выглядит так:

./configure --prefix=$HOME/Applications/vim-compiled \
 --enable-********** \
 --enable-pythoninterp \
 --with-features=huge \
 --enable-gui=carbon \
 --with-x

Однако, когда я смотрю vim --version, линия GUI все еще говорит:

Huge version without GUI.

Я использую Vim из iTerm. Он вообще не изменяет меню iTerm. Я знаю, что некоторые из вас могут предложить использовать MacVim. Я мог бы подумать об этом позже, но не сейчас, потому что я исправил источник Vim breakindent (чтобы включить breakindent), и я еще не готов к исправлению источника MacVim с нуля.

3 ответа

Вы можете использовать меню даже в режиме консоли.

Поместите в файл.vimrc следующие команды:

if !has("gui_running")
 :source $VIMRUNTIME/menu.vim 
 :set wildmenu 
 :set cpoptions-=<
 :set wildcharm=<c-z>
 :map <f4> :emenu <c-z>
 endif
</c-z></f4></c-z>

Нажатие F4 запустит меню. Теперь вы можете использовать клавиши курсора для выбора записи в меню. Нажмите Enter, чтобы выполнить его. Нажмите Esc, если вы хотите отменить. Для этого требуется |+menu| функция включена во время компиляции.

Для получения дополнительной информации см :help console-menu.


Hum, это меню GUI. Очевидно, что это не будет работать в iTerm2 или Terminal, потому что нет никакой строки меню от Vim или любой другой точки зрения CLI.

Терминальные эмуляторы обычно не выставляют свои меню в программы, потому что фактический терминал обычно не имеет меню.

Из вашей ссылки (спасибо за это, кстати), похоже, что хотя бы один человек смог применить патч к MacVim, если вы хотите использовать только GUI-функцию, ваша лучшая и единственная ставка - использовать графический интерфейс Vim.


:emenu предлагает доступ к меню. Хотя нет мыши, просто клавиатуры.

licensed under cc by-sa 3.0 with attribution.