Как я сказал в комментариях, отображения не предназначены для того, что вы хотите делать. Интересный вариант для этого варианта использования langmap.
Эта опция позволяет сохранить поведение вашей клавиатуры в режиме вставки и изменить ее поведение в других режимах.
Чтобы использовать его, нужно скомпилировать Vim +langmap, вы можете проверить, включена echo has('langmap')ли эта опция : если команда вернет 1опцию, включена, иначе вам нужно будет настроить ее с включенной опцией (чтобы узнать, как это сделать, это другой вопрос).
Когда эта опция включена, опция принимает пары символов, например set langmap += à@, позволит вам добавить àв буфер, когда вы находитесь в режиме вставки, и вы вводите, àно ввод àв обычном режиме фактически вызовет @(этот пример может быть полезен на azerty клавиатуры для облегчения работы с макросами).
Чтобы использовать langmap на греческом языке, вы можете следовать примеру, приведенному в :h 'langmap'добавлении этой строки к вашему vimrc (Копирование этой строки отсюда не может быть хорошей идеей, так как я действительно не уверен в кодировке, вероятно, выдергивание строки непосредственно из файла справки безопаснее) :
: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
Теперь из того, что я понимаю в ваших комментариях, остается проблема, когда вы пытаетесь использовать предопределенные команды: при вводе команды поведение режима вставки будет запускаться вместо поведения, определенного в langmap. К сожалению, я не уверен, что у меня есть хорошее решение для этого. Одна идея может состоять в том, чтобы переопределить команды, например, так:
command λς lw
Таким образом, когда вы введете команду, λςVim будет выполняться, lwно я вижу несколько недостатков этого метода:
- Это может быть огромной болью в переопределении всех команд, которые вы хотите использовать.
- Пользовательские команды должны начинаться с заглавной буквы, и теперь я представляю, как это удобно делать на греческом языке.
Так что, возможно, плагин, предложенный @Alexander Myshov в его ответе на этот вопрос, может быть полезен (поскольку я никогда не пробовал ни одного из них, я не знаю, решают ли они проблему, но кажется, что они это делают).
langmapвариант (см. Документ, который включает пример греческого макета). Эта опция фактически была сделана, чтобы помочь справиться с нелатинскими клавиатурами, такими как греческая или кириллическая. Это позволяет вам определять пары символов, которые будут обычно интерпретироваться в режиме вставки, но будут заменены в других режимах, возможно, это вам поможет.