Как я сказал в комментариях, отображения не предназначены для того, что вы хотите делать. Интересный вариант для этого варианта использования 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
вариант (см. Документ, который включает пример греческого макета). Эта опция фактически была сделана, чтобы помочь справиться с нелатинскими клавиатурами, такими как греческая или кириллическая. Это позволяет вам определять пары символов, которые будут обычно интерпретироваться в режиме вставки, но будут заменены в других режимах, возможно, это вам поможет.