Настройка редактора vim

Настройка редактора vim.

Содержание

1 Файлы конфигурации

  • Глобальная конфигурация: /etc/vim/vimrc
  • Пользовательская конфигурация: ~/.vimrc

2 Синтаксис

  • Комментарий начинается со знака кавычки: ".

3 Поддержка русского языка

  • Поскольку vim работает в консоли, можно использовать системное переключение языка.
  • Однако при этом не возможно использовать клавишные комбинации.

3.1 Модуль keymap

  • Предлагается использовать внутренний переключатель раскладок vim, реализуемый модулем keymap.
  • С помощью keymap vim переводит символы, введённые в обычной раскладке клавиатуры, в определённые символы в режиме вставки (согласно некоторой предоставленной таблице).
  • Проверьте, что модуль keymap установлен:
    • в окне vim введите в командном буфере :version;
    • в списке модулей должен присутствовать элемент +keymap.
  • Модули устанавливаются на этапе компиляции vim.
  • Переключение между кириллицей и латиницей комбинацией Ctrl+^ в режиме INSERT.
  • При этом, сохраняются все английские настройки для других режимов, как будто используем английскую раскладку, хотя в режиме INSERT набираем текст по-русски.
  • Все доступные раскладки в каталоге /usr/share/vim/vim<версия>/keymap.
  • Возможные варианты (russian-<вариант>):
    • jcuken, jcukenwin, jcukenwintype, jcukenmac, typograph, yawerty, dvorak
set keymap=russian-jcuken
  • Чтобы вставка и поиск работали на английском:

    set iminsert=0 " Чтобы при старте ввод был на английском, а не русском
    set imsearch=0 " Чтобы при старте поиск был на английском, а не русском
    
    • Сброс iminsert и imsearch необходим, чтобы в самый первый раз вставка и ввод паттерна поиска начались с латиницы. Фактически, Ctrl+^ переключает эти значения между 0 и 1.
  • Чтобы можно было так же нажимать Ctrl-\ для переключения, помимо Ctrl+^ (для совместимости с Emacs):

    inoremap <C-\> <C-^>
    
  • Дополнительная подсветка для курсора, чтобы различать режимы:

    highlight lCursor guifg=NONE guibg=Cyan
    

3.2 Модуль langmap

  • Проверьте, что модуль langmap установлен:
    • в окне vim введите в командном буфере :version;
    • в списке модулей должен присутствовать элемент +langmap.
  • Модули устанавливаются на этапе компиляции vim.
  • С помощью langmap vim переводит символы, введённые в неправильной раскладке, в обычные команды нормального режима (согласно некоторой предоставленной таблице).
  • Установите в конфигурационном файле:
    set langmap=йЙцЦуУкКеЕнНгГшШщЩзЗхХъЪфФыЫвВаАпПрРоОлЛдДжЖэЭяЯчЧсСмМиИтТьЬбБюЮ.\\,;qQwWeErRtTyYuUiIoOpP[{]}aAsSdDfFgGhHjJkKlL;:'\"zZxXcCvVbBnNmM\\,<.>/?
    

Links to this note

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие