Как создать кнопки на панели инструментов для увеличения и уменьшения размера шрифта?

8

Многие системы предлагают кнопки + и - масштабирования. Может кто-нибудь продемонстрировать, как можно эмулировать такие две кнопки gvim?

Это означает, что нажатие кнопки + увеличит размер шрифта на один шаг. Кнопка - делает наоборот.

Йосси Гил
источник
2
Начните с :h toolbar-iconи:h guifont
VanLaser
4
... и объединить с vim.wikia.com/wiki/Change_font_size_quickly (я ленивый, ... мне это не нужно: D)
VanLaser
Спасибо! Я пытался, по крайней мере, с ссылкой vim.wikia. Определенные команды, кажется, игнорируются в моем gvim, поэтому я все еще работаю над этим.
Йосси Гил
Я думаю, что в patternопределении есть дополнительный пробел, который не будет работать в Windows или в тех ОС, где guifontвыглядит FontName:h12вместо FontName\ 12. И, конечно, попробуйте без has("gui_gtk2")проверки (по крайней мере, для Windows).
VanLaser
Не уверен, что с этим делать. Я пользователь Ubuntu.
Йосси Гил

Ответы:

6

Я думаю, что-то вроде следующего должно работать:

amenu ToolBar.Builtin#31   :let &guifont=substitute(&guifont, '\(\d\+\)', '\=submatch(1)+1', '')<cr>
amenu ToolBar.Builtin#32   :let &guifont=substitute(&guifont, '\(\d\+\)', '\=submatch(1)-1', '')<cr>

Теперь, чтобы включить красивые значки, вам просто нужно добавить аргумент icon.

Кристиан Брабандт
источник
Это не сработало для меня. Я получил размытые значки, но при нажатии на них экран обновляется, ничего не делая. Я все еще должен изменить размер шрифта вручную.
Йосси Гил
Попробуйте, :echo substitute(&guifont, '\(\d\+\)', '\=submatch(1)-1', '')что это дает вам
Кристиан Брабандт
Ничего не произошло. Не уверен, что было даже обновление.
Йосси Гил
Вы должны увидеть вывод. Какая у вас настройка гифона?
Кристиан Брабандт
2
это выглядит правильно. И если вы запустите эту команду: :let &guifont=substitute(&guifont, '\(\d\+\)', '\=submatch(1)-1', '')это уменьшает размер шрифта?
Кристиан Брабандт