Работа в (Neo)Vim с русским языком

17.05.2025

vim

Когда я пишу на русском в Vim или Neovim и перехожу в командный режим, всё начинает раздражать — копировать и вставлять неудобно, по словам и строкам прыгать сложно, потому что для этого надо постоянно переключаться на английскую раскладку. В какой-то момент даже хотелось всё бросить и перейти на Sublime Text. Но недавно я наткнулся на решение — и теперь хочу поделиться, вдруг кому-то тоже пригодится.

В Vim есть такая штука - опция langmap. С её помощью можно настроить так, чтобы команды в командном режиме работали, даже если ты печатаешь на русском.

просто добавь строчку в конфиг Vim:

  set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯЖ;ABCDEFGHIJKLMNOPQRSTUVWXYZ:,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz

Если испольльзуешь Neovim, то можно так:

vim.cmd(
  "set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯЖ;ABCDEFGHIJKLMNOPQRSTUVWXYZ:,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz")

Теперь, даже если у тебя включена русская раскладка, нажимаешь Esc — и можешь спокойно перемещаться по тексту, как обычно. Без всяких переключений.