Mã hóa mặc định dường như là latin1
:
:set encoding?
encoding=latin1
Khi nhập các ký tự, Vim cố gắng chuyển đổi chúng từ bộ ký tự đến (có thể là unicode) sang latin-1. Điều này thất bại vì latin-1 không có các ký tự này. Do đó các dấu hỏi.
Mở một tệp hiện có (Được lưu bằng notepad hoặc một số chương trình khác) sẽ dẫn đến văn bản bị cắt xén vì hiện tại Vim chỉ đang cố đọc byte và giải thích chúng theo bộ ký tự latin-1, và không chuyển đổi chúng thành bộ Latin-1.
Bạn sẽ muốn sử dụng utf-8
hoặc một số như vậy:
:set encoding=utf-8
Sau đó, kịch bản Malayalam dường như hoạt động.
Lưu ý rằng điều này sẽ không làm cho các dấu hỏi có sẵn hoạt động. Chúng thực sự được chuyển đổi thành dấu hỏi (ký tự 0x3f
) trên đầu vào. Không có cách nào để lấy lại những gì đã nhập. Tôi nghi ngờ rằng đây là nguồn gốc của sự nhầm lẫn của câu hỏi này.
Cũng thấy :help 'encoding'
.
Là một sidenote, glyphs không được hỗ trợ trong phông chữ thường được hiển thị với một glyph riêng biệt; điều này thay đổi trên mỗi phông chữ, nhưng thường là một khối vuông hoặc một dấu hỏi theo kiểu khác. bạn có thể thấy sự khác biệt giữa dấu hỏi "thực" và glyph không được hỗ trợ g8
, sẽ hiển thị mã ký tự.