Như tôi đã nói trong các bình luận, ánh xạ trong không được thiết kế để làm những gì bạn muốn làm. Một lựa chọn thú vị cho trường hợp sử dụng này là langmap
.
Tùy chọn này cho phép giữ hành vi hoặc bàn phím của bạn ở chế độ chèn và thay đổi hành vi của nó ở các chế độ khác.
Để sử dụng nó, Vim phải được biên dịch +langmap
, bạn có thể kiểm tra xem tùy chọn này có được bật hay không echo has('langmap')
: nếu lệnh trả về 1
tùy chọn được bật, bạn sẽ phải thiết lập với tùy chọn này được bật (để biết cách thực hiện, tùy chọn là một câu hỏi khác).
Khi được bật, tùy chọn lấy các cặp ký tự chẳng hạn set langmap += à@
sẽ cho phép bạn thêm một à
bộ đệm khi bạn ở chế độ chèn và bạn nhập à
nhưng gõ à
ở chế độ bình thường sẽ thực sự kích hoạt @
(ví dụ này có thể hữu ích trên azerty bàn phím để dễ dàng làm việc với các macro).
Để sử dụng langmap trong tiếng Hy Lạp, bạn có thể làm theo ví dụ được đưa ra khi :h 'langmap'
thêm dòng này vào vimrc
(Sao chép dòng này từ đây có thể không phải là ý tưởng hay vì tôi thực sự không chắc chắn về mã hóa, có thể lấy dòng trực tiếp từ tệp trợ giúp an toàn hơn) :
:set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
Bây giờ từ những gì tôi hiểu trong các bình luận của bạn, nó vẫn là một vấn đề khi bạn cố gắng sử dụng các lệnh được xác định trước: khi bạn nhập lệnh, hành vi chế độ chèn sẽ được kích hoạt thay vì hành vi được xác định langmap. Thật không may, tôi không chắc chắn tôi có một giải pháp tốt cho điều đó. Một ý tưởng có thể là xác định lại các lệnh chẳng hạn như thế:
command λς lw
Theo cách này, khi bạn gõ lệnh λς
Vim sẽ thực thi lw
nhưng tôi thấy một số nhược điểm của phương thức này:
- Nó có thể là một nỗi đau rất lớn ở mông để xác định lại tất cả các lệnh bạn muốn sử dụng.
- Các lệnh do người dùng định nghĩa phải bắt đầu bằng chữ in hoa và bây giờ tôi đã biết làm thế nào thuận tiện để làm điều đó trong tiếng Hy Lạp.
Vì vậy, có thể một plugin được đề xuất bởi @Alexander Myshov trong câu trả lời của anh ấy cho câu hỏi này có thể hữu ích (vì tôi chưa bao giờ thử bất kỳ trong số này, tôi không biết liệu họ có giải quyết được vấn đề không nhưng có vẻ như họ làm vậy).
langmap
tùy chọn (xem tài liệu bao gồm một ví dụ cho bố cục Hy Lạp). Tùy chọn này thực sự được thực hiện để giúp đối phó với các bàn phím không phải là tiếng Latin như Hy Lạp hoặc Cyrilic. Nó cho phép bạn xác định các cặp ký hiệu sẽ được hiểu thông thường trong chế độ chèn nhưng sẽ được thay thế trong các chế độ khác, có thể điều này sẽ giúp bạn.