Эта проблема может быть решена с помощью опции keymap
. Он позволяет определить альтернативное отображение клавиатуры для использования в режимах, требующих ввода текста.
Для переключения между стандартными и альтернативными таблицами клавиш в режиме вставки, замены или командной строки используйте Ctrl kbd> + ^ kbd> ( Ctrl kbd> + 6 KBD>). Изменение раскладки клавиатуры влияет только на ввод текста; Поведение клавиатуры в обычном режиме остается неизменным независимо от текущей настройки раскладки клавиатуры. Можно оставить запись в режиме вставки на греческом языке и сразу использовать сочетания клавиш в обычном режиме, не переключаясь на другую раскладку клавиатуры. Если после этого вы вернетесь в режим вставки или, например, начнете поиск, набрав /
, Vim автоматически переключит раскладку клавиатуры на греческий.
Текущая клавиатура, используемая в этих режимах ввода текста, запоминается между переключениями в другие режимы. Единственное исключение из этого поведения сделано для режима командной строки, который всегда начинается с таблицы ключей по умолчанию, так как большую часть времени требуется вводить команду Ex (в ASCII). С установленной опцией keymap
пользователь должен работать в Vim, сохраняя раскладку системной клавиатуры на английском, переключая раскладку клавиатуры Vim с помощью Ctrl kbd> + ^ kbd> (вместо system- широкоформатный переключатель).
Чтобы навсегда включить греческую раскладку UTF-8, добавьте следующую строку в файл .vimrc
.
:set keymap=greek_utf-8
Существует множество предопределенных таблиц клавиш для большого набора языков, вы можете просмотреть их все в самом Vim, используя :e $VIMRUNTIME/keymap
. Обратите внимание, что обычно для одного языка предусмотрено несколько таблиц ключей, которые отличаются только кодировкой символов, так что любой может выбрать ту, которая соответствует их конфигурации.
Я также рекомендую установить параметры ниже, чтобы указать, должна ли карта ключей включаться по умолчанию в режиме вставки и при вводе шаблона поиска.
:set iminsert=0
:set imsearch=-1
См. :help iminsert
и :help imsearch
для их подробных объяснений.
Существует также специальный языковой режим, который, если я не ошибаюсь, был введен в Vim раньше, чем keymap
. Это позволяет добиться поведения, аналогичного тому, которое предусмотрено в keymap
, путем ручного указания пар букв, которые соответствуют клавишам на клавиатуре в длинной строке, которая будет сохранена в опции langmap
. Лично - мой родной язык тоже не английский - я предпочитаю (и рекомендую) вместо этого использовать keymap
.
В заключение я должен подчеркнуть, что все вышеперечисленное в равной степени применимо к любому другому языку, для которого Vim имеет (или может быть настроен для него) раскладку клавиатуры.
См. Также мой ответ на аналогичный вопрос , который был задан позже. Это включает в себя немного более подробное объяснение.
Как уже упоминалось, к сожалению, правила StyleCop либо включены, либо выключены и не могут быть изменены. Было бы неплохо иметь простой способ настройки правил, но, к сожалению, вам придется писать их с нуля.
Я использовал StyleCop, чтобы сосредоточиться на использовании как можно большего количества встроенных правил и где У меня действительно принципиальная проблема с правилом (например, с документацией по коду), я просто отключаю его. Я не настолько озабочен исключениями, чтобы доходить до написания индивидуальных правил.
StyleCop (и я с этим согласен) хочет, чтобы вы разбили это на несколько строк. Ему не нравятся операторы if в одной строке по (возможно) уважительной причине - это вызывает непоследовательный шаблон использования операторов if, что является одной из причин, по которым правило существует в первую очередь.
Чтобы получить поведение, которое вы показывает, что вам, вероятно, потребуется использовать SDK, чтобы написать собственное правило для этого конкретного случая, а затем отключить правило по умолчанию.