Bagaimana cara membuat tombol pada bilah alat untuk menambah dan mengurangi ukuran font?

8

Banyak sistem menawarkan tombol + dan - zoom. Bisakah seseorang mendemonstrasikan bagaimana dua tombol tersebut dapat ditiru gvim?

Ini berarti bahwa mengklik tombol + akan meningkatkan ukuran font sebanyak satu langkah. Tombol - melakukan sebaliknya.

Yossi Gil
sumber
2
Mulailah dengan :h toolbar-icondan:h guifont
VanLaser
4
... dan kombinasikan dengan vim.wikia.com/wiki/Change_font_size_quickly (saya malas, ... Saya tidak membutuhkannya: D)
VanLaser
Terima kasih! Saya mencoba, setidaknya dengan tautan vim.wikia. Perintah yang didefinisikan tampaknya diabaikan di gvim saya, jadi saya masih mengerjakannya.
Yossi Gil
Saya pikir patterndefinisi tersebut memiliki ruang tambahan yang tidak akan berfungsi pada Windows, atau di OS yang guifontsepertinya FontName:h12bukan FontName\ 12. Dan tentu saja coba tanpa has("gui_gtk2")cek (setidaknya untuk Windows).
VanLaser
Tidak yakin apa yang membuat ini. Saya adalah pengguna Ubuntu.
Yossi Gil

Jawaban:

6

Saya pikir sesuatu di sepanjang baris berikut ini akan berfungsi:

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>

Sekarang, untuk memasukkan ikon yang bagus, Anda hanya perlu menambahkan argumen ikon.

Christian Brabandt
sumber
Ini tidak berhasil untuk saya. Saya mendapat ikon buram, tetapi mengklik ini membuat layar menyegarkan tanpa melakukan apa pun. Saya masih harus mengubah ukuran font secara manual.
Yossi Gil
Cobalah :echo substitute(&guifont, '\(\d\+\)', '\=submatch(1)-1', '')apa yang memberi Anda
Christian Brabandt
Tidak ada yang terjadi. Tidak yakin bahkan ada penyegaran.
Yossi Gil
Anda akan melihat output. Apa pengaturan guifont Anda?
Christian Brabandt
2
itu terlihat benar. Dan jika Anda menjalankan perintah ini: :let &guifont=substitute(&guifont, '\(\d\+\)', '\=submatch(1)-1', '')Apakah itu mengurangi ukuran font Anda?
Christian Brabandt