Apakah ada cara untuk menggunakan font non-monospace di salah satu vim
atau gvim
?
Saya mencoba mengubah font untuk gVim dengan:
:set guifont=Dejavu\ Serif\ 12
Tetapi ini memberi saya beberapa hasil yang agak jelek:
Saya mendapatkan hasil yang sama jika saya menggunakan menu (Edit -> Pilih font)
:help guifont
mengatakan:
Note that the fonts must be mono-spaced (all characters have the same
width). An exception is GTK 2: all fonts are accepted, but
mono-spaced fonts look best.
Jadi saya pikir hasil di atas dihitung sebagai "tidak terlihat terbaik"? Bisakah ini diperbaiki, entah bagaimana?
Saya juga mencoba mengatur font non-monospace di terminal saya ( xterm
), tetapi tampaknya memiliki efek yang hampir sama:
Saya tidak keberatan menggunakan emulator terminal yang berbeda untuk btw ini.
Jawaban:
Saya menemukan
mlterm
, yang mendukung ini. Selain dari terminal bawaan Emacs (istilah Mx), ini adalah satu - satunya terminal yang saya temukan yang mendukung ini (saya sudah mencoba sekitar 15-20 yang berbeda).Saya telah menemukan bahwa itu
mlterm
bekerja lebih baik daripada Emacs karena pengaturan rasio sceen, dan Anda juga menghindari keharusan menjalankan Vim di dalam sesi Emacs (saya bahkan tidak yakin itu diizinkan secara hukum).Tangkapan layar (tampilannya jelek kecuali Anda membukanya ukuran penuh karena penskalaan di browser):
Memang membutuhkan beberapa konfigurasi cinta. Setelah memulai, tekan Ctrl+ klik tengah di mana saja, ini akan membuka layar configure. Saya mengatur opsi ini
Di tab Font:
Layar konfigurasikan Klik-kanan tampak agak tidak jelas, saya juga mengedit
~/.mlterm/vaafont
karena ini tidak diperbarui:Dan saya
~/.mlterm/main
(ini adalah pengaturan yang saya atur di atas, ditambah beberapa preferensi pribadi):Ada beberapa artefak, yang diharapkan, tetapi menulis email atau posting seperti ini, tampaknya berfungsi dengan baik!
Saya membuat alias di shell saya untuk ini:
Saya juga membuat sedikit fungsi untuk menghapus sebagian besar UI chrome:
Ada juga goyo.vim yang kira-kira sama, tetapi itu tidak bekerja dengan baik bagi saya (terlalu banyak mengoceh dengan margin). YMMV.
sumber
Ini jelas tidak didukung di GUI Vim, dan saya akan terkejut jika ada lebih dari beberapa emulator terminal yang mendukung font proporsional dengan cara yang Anda harapkan: itu akan merusak terlalu banyak hal standar untuk terminal mana bekas. Karena begitu banyak bagian Unix dan lingkungan baris perintah lainnya menganggap font monospace, jenis tampilan ini tidak dapat digunakan sebagai terminal tujuan umum, sehingga pengembang terminal harus melakukan pekerjaan tambahan untuk sedikit manfaat.
Namun, ada setidaknya satu emulator Terminal yang diimplementasikan menggunakan teknologi web ( Ajaxterm ), dan karena ini menggunakan HTML / CSS untuk rendering, dimungkinkan untuk membuatnya menggunakan font proporsional menggunakan CSS. CJS Hayward telah melakukan hal ini, tetapi membutuhkan browser yang sangat lama.
Jika Anda menjalankan Vim di terminal seperti itu, maka Anda akan mendapatkan apa yang Anda minta; bersiaplah untuk hijinx aneh ketika Anda menggunakan fitur berbasis kolom. (mis
j
.k
, mode visual blockwise, atau'colorcolumn'
opsi)PEMBARUAN Seperti yang ditunjukkan oleh penanya, Carpetsmoker dalam komentar , Emacs memiliki dukungan font proporsional yang tepat dan juga termasuk emulator terminal (
M-x term
), di mana Anda dapat menjalankan Vim. Penggemar font proporsional yang berdedikasi mungkin juga ingin melihat ke Emacs's Evil untuk mendapatkan pengalaman seperti Vim dalam Emacs.sumber
Font yang proporsional didukung di Oni , Neovim GUI. Gunakan renderer "webgl" untuk hasil terbaik.
Lihat juga https://github.com/onivim/oni/issues/2359
sumber