Skip to content

Instantly share code, notes, and snippets.

@bebyx
Last active May 9, 2026 22:35
Show Gist options
  • Select an option

  • Save bebyx/09307c0d9bdd381add8e9fd623a827d3 to your computer and use it in GitHub Desktop.

Select an option

Save bebyx/09307c0d9bdd381add8e9fd623a827d3 to your computer and use it in GitHub Desktop.
:set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,х[,ї],фa,іs,вd,аf,пg,рh,оj,лk,дl,ж\\;,є',ґ\\,яz,чx,сc,мv,иb,тn,ьm,ю.,./,ЙQ,ЦW,УE,КR,ЕT,НY,НY,ГU,ШI,ЩO,ЗP,Х{,Ї},ФA,ІS,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж\\:,Є\\",Ґ<bar>,ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б\\<,Ю>,№#
@bebyx

bebyx commented Mar 3, 2020

Copy link
Copy Markdown
Author

Ukrainian Language Layout for Vim HotKeys

Vim doesn't understand non-Latin letters by default. The recommended way to add a support is to set langmap in your Vim config file.

I've created this gist to help Ukrainians who may want to use Vim navigation with Ukrainian keyboard layout.

To teach Vim to understand main hotkeys on Ukrainian language layout in a moment, execute in your terminal:

curl -w "\n" https://gist.githubusercontent.com/bebyx/09307c0d9bdd381add8e9fd623a827d3/raw >> ~/.vimrc

This adds the gist's content, langmap setting, into the config ~/.vimrc file :

It's as simple as that. No plugins, no bloat.

Official docs on 'langmap'

@searge

searge commented Apr 11, 2020

Copy link
Copy Markdown

На жаль ламає vim keybindings, з того, що помітив: b — працює як і, r — робить відступи...

@bebyx

bebyx commented Jul 26, 2020

Copy link
Copy Markdown
Author

На жаль ламає vim keybindings, з того, що помітив: b — працює як і, r — робить відступи...

Дякую за коментар! Так, сам перевірив, на жаль, ламає ці гарячки в англійській розкладці. Я подумаю, що можна зробити. Тимчасове рішення — прибрати иb та кr з langmap.

@ivankovnatsky

ivankovnatsky commented Nov 29, 2021

Copy link
Copy Markdown

а якщо ось так:

set langmap=йqwertyuiop,х[,ї],фasdf,пghjkl\\;,
  ',ґ\\,яz,чxcvbnm,ю.,./,ЙQ,ЦW,УE,КR,ЕT,НY,НY,ГU,ШI,ЩO,ЗP,Х{,Ї},ФA,
  S,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж\\:,Є\\",Ґ\|,ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б\\<,Ю>,№#

Ґ\|

@bebyx

bebyx commented Dec 10, 2021

Copy link
Copy Markdown
Author

@ivankovnatsky дякую, треба буде спробувати.

@timsofteng

Copy link
Copy Markdown

а можно так, шоб на літері 'б' був функіонал такий самий як і на аглійскій розкладці?

@ivankovnatsky

ivankovnatsky commented Jun 29, 2022

Copy link
Copy Markdown

чому ні, пропустили чомусь:

set langmap=йqwertyuiop,х[,ї],фasdf,пghjkl\\;,
  ',ґ\\,яz,чxcvbnm\\,,ю.,./,ЙQ,ЦW,УE,КR,ЕT,НY,НY,ГU,ШI,ЩO,ЗP,Х{,Ї},ФA,
  S,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж\\:,Є\\",Ґ\|,ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б\\<,Ю>,№#

б\\,

@ivankovnatsky

Copy link
Copy Markdown
set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,х[,ї],фa,іs,вd,аf,пg,рh,оj,лk,дl,ж\\;,
  \є',ґ\\,яz,чx,сc,мv,иb,тn,ьm,б\\,,ю.,,ЙQ,ЦW,УE,КR,ЕT,НY,НY,ГU,ШI,ЩO,ЗP,Х{,Ї},ФA,
  \ІS,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж\\:,Є\\",Ґ\|,ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б\\<,Ю>,№#

прибрав ось це: ./ ламає vim repeat ..

@JayXT

JayXT commented Oct 16, 2022

Copy link
Copy Markdown
set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,х[,ї],фa,іs,вd,аf,пg,рh,оj,лk,дl,ж\\;,
  \є',ґ\\,яz,чx,сc,мv,иb,тn,ьm,б\\,,ю.,,ЙQ,ЦW,УE,КR,ЕT,НY,НY,ГU,ШI,ЩO,ЗP,Х{,Ї},ФA,
  \ІS,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж\\:,Є\\",Ґ\|,ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б\\<,Ю>,№#

прибрав ось це: ./ ламає vim repeat ..

@ivankovnatsky, це кінцева версія, чи ви вносили ще якісь покращення на зразок підтримки додаткових символів верхнього ряду (!@$^&) ?

@ivankovnatsky

ivankovnatsky commented Oct 17, 2022

Copy link
Copy Markdown

це версія яку я користую наразі, поки що не було потрібно прям усе відтворити, може колись. якшо у вас буде наснага, я думаю усі тут будуть тільки раді.

але якшо заміните ось ці символи, то як ви будете вводити їх при українські розкладці? ";:?, просто воно їх маппить так само і в INSERT моді.

загалом я б сказав шо при різних типах укр розкладок: unix/win можна це обійти, але це не той варіант який точно усім підійде, тому автор мабуть це не включав напочатку.

@JayXT

JayXT commented Oct 17, 2022

Copy link
Copy Markdown

це версія яку я користую наразі, поки що не було потрібно прям усе відтворити, може колись. якшо у вас буде наснага, я думаю усі тут будуть тільки раді.

але якшо заміните ось ці символи, то як ви будете вводити їх при українські розкладці? ";:?, просто воно їх маппить так само і в INSERT моді.

Так, це проблема:(

@ivankovnatsky

ivankovnatsky commented Oct 17, 2022

Copy link
Copy Markdown

найбільшу проблему яку вирішив для мене цей маппінг, це коли була укр розкладка, а я думав шо англ, і я хотів перейти в COMMAND режим, або користувати hjkl навігацію. хоча $%^ теж було б дуже зручним.

@JayXT

JayXT commented Oct 17, 2022

Copy link
Copy Markdown

Можливо ідеальним рішенням було б існування якогось надійного кросплатформного механізму запам'ятовування розкладки в Normal Mode, щоб при переході до нього вона змінювалась автоматично.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment