Меню Рубрики

Vim windows русский язык

Vim: русская раскладка. Три способа

Как я понимаю, есть три способа работать с русской раскладкой.

Первый способ: использовать langmap. Этот способ, вроде бы, устарел, никаких профитов не приносит.

Там 100500 реализаций, у каждого пользователя своя, но вот официальная:

Второй способ: использовать keymap. Вроде самый нормальный на сегодня (переключается через Ctrl-^).

Третий способ: использовать плагин https://github.com/lyokha/vim-xkbswitch. Есть ли там профиты? Не знаю. Про него было несколько тредов, вот один из: Vim. Назначение горячих клавиш кириллицей.

Слишком сложно. Можно сделать так чтобы при входе в командный режим английская раскладка в ловеркейсе включалась (т.е. капслок тоже отключался)? Глобально в иксах, в терминале? По выходу чтобы возвращалось как было (независимо от того менял ли ты язык или нет). Очень уж напрягает.

Заодно как удалить капслок? У меня на капслоке переключение раскладок, шифт+капслок включает капслок, но от него больше вреда чем пользы.

Способ 4 — не работать в normal mode с русской раскладкой. Повесь ее на «зажатый правый Alt» или «зажатая педаль» и проблемы как рукой снимет.

В смысле? Ну вот ты набирал комментарий в коде на русском языке. У тебя раскладка русская. Нажимаешь Escape чтобы перейти в Normal mode. И она по-прежнему русская.

На CapsLock у меня Ctrl, раскладки не переключаются, а включаются: En — левый win, Ru — правый (menu). Esc и Tab поменяны местами.

набирал комментарий в коде на русском языке. донабрал. перед или после нажатия Escape отпустил Alt, ибо уже не набираешь комментарий в коде на русском языке.

основной плюс: русскость твоей раскладки в таком способе «переключения» становится stateless и равной зажатости Altа. это довольно быстро прошивается в подкорку и проблемы подобной сабжевой исчезают на корню

основной минус: риск развития болезни де Кервена или аналогичного RSI, если хреново выбрал кнопку для зажатия

способ с langmap самый быстрый и простой, используй его и не парься.
для переключения в vim 8 добавили event для cmd
au CmdLineEnter * :call job_start(‘xkb-switch -s us’)
и CmdLineLeave соответсвенно.

Ну я понял, нет, мне это точно не подходит.

Ну хз. Как по мне — каша из букв, которая на некоторых юзкейсах еще и не работает.

Способ 4 — не работать в normal mode с русской раскладкой

Я считаю, ты ошибаешься, это способ №1.

не работать в normal mode с русской раскладкой

translating these special characters to the original meaning of the key (:help langmap)

ошибочно считаешь, че.

Не может быть. langmap я пробовал, не пошло, убрал. Гораздо проще оказалось «не работать в normal mode с русской раскладкой», так что этот способ №1, а не 4.

Третий способ (xkbswitch) — наилучший вариант для кириллицы, первые два имеют свои камни и бока, нет времени объяснять.

vim-xkbswitch если кто на Ubuntu 18.04 использует, напишите, как ставили. А то у меня не работает, пользуюсь keymap

Первый и второй способ пробовал по удобству сравнивать?

Если нужен только линукс, то наверное лучший способ. Я использую для переключения kbdd и для этого у меня свой велосипед, меняющий раскладку по d-bus.

Второй способ хорош тем, что работает на любой платформе.

Я придумал такой, достаточно универсальный способ решения проблем переключения, который годится на случай, если кириллица в тексте преобладает. Он состоит в том, что можно вводить латиницу в кириллической раскладке, удерживая нажатым пробел. Чтобы ввести пробел, нужно, соответственно, нажать пробел и отпустить его.

Правда, реализовать его удалось только для частного случае моего debian-а и моего lxde. И только для иксов, локально (не пробовал всякие удалённые подключения).

ваши замечания приветствуются. Надо сразу сказать, что раскладка не была заточена на вим, который я знаю на уровне i что-то напечатать / что-то поискать Esc :wq! .

Конкретно для ввода этих команд пришлось помучаться, потому что двоеточие находится на цифре 6 (как в русской раскладке), и её нельзя ввести в английской с пробелом. Прямой слеш также вводится с шифтом. Т.е. всё равно неудобно. Может быть, можно сделать какой-то аналог, более заточенный под Вим.

Источник

Настройка поддержки русского языка в GVim (windows)

Хочу поделиться с сообществом опытом допиливания поддержки русского языка в GVim под Windows 7. GVim — очень мощный текстовый редактор, но в текущей Windows-реализации без тонких настроек он выглядит гадким утёнком по сравнению c GVim под Linux или MacVim.

Что будет в данной статье? Исправление локализации для Unicode в Windows-версии GVim, настройка переключения раскладки между клавиатуры, включение проверки орфографии. Предполагается, что вы владеете азами работы в Vim. На хабре уже есть статья, затрагивающая тему поддержки русского языка, и хотя она всё ещё остаётся полезной, но на данный момент немного устарела.

В принципе русский язык в интерфейсе Windows версии GVim работает «из коробки», но есть небольшой нюанс: при выставленном Unicode редактор не отображает кириллицу в сообщениях и меню, поэтому либо приходится переключать GVim на английскую локализацию, либо мириться с этими «кракозябрами» в меню и «ять»-ями в приветствии программы. И это в наше время, когда подавляющие большинство программ и даже стандартный блокнот в Windows по умолчанию работает с Unicode текстом! Ситуация усугубляется ещё тем, что в сети просто нет руководств, как исправить эту проблему. Словно прекрасная девушка, танцующая красивый танец и громко пускающая газы при каждом новом па.

Исправим же это недоразумение!

Исправление отображения русского языка в интерфейсе GVim

Сначала починим отображение внутренних сообщений на русском языке (текст на экране приветствия, информационные сообщения, сообщения об ошибках).


(Великий и ужасный GVim «из коробки» при переходе на UTF-8)

Создаём файл vim.mo из utf-версии русской локализации po-файла (формат файла GNU gettext для поддержки мультиязычности). В windows для создания mo-файла я использовал свободную программу Poedit. Помещаем созданный mo-файл в папку $VIMRUNTIME/lang/ru_RU.UTF-8/LC_MESSAGES. Если у вас нет папок ru_RU.UTF-8 и LC_MESSAGES (по-умолчанию в windows-версии GVim’а их нет), создаём их. Если вам лениво создавать и править файлы, можете скачать мои: mo-файл (utf-8 версия), файл локализации меню. Вот теперь у нас есть все необходимые файлы для поддержки UTF-8.

Теперь надо разобраться с меню. Возникает резонный вопрос: почему меню не исправляется корректным mo-файлом? Всё очень просто — меню в GVim реализуется с помощью плагинов, поэтому для исправления кодировки надо исправлять рантайм-файл. Заходим в папку $VIMRUNTIME/lang, создаём дубликат файла menu_ru_ru.vim переименовываем его в menu_ru_ru.utf-8.vim и комментируем или удаляем 20-ую строку:

Внимательный читатель при поиске файла, скорее всего, заметит, что там есть некий похожий файл, а именно menu_ru.utf-8.vim (без одной «ru»). Мы его не трогаем, потому что его использует GVim по умолчанию (в Windows 7) и если его исправить то при необходимости возврата на cp1251 мы получим «кракозябры».

Дело осталось за малым: надо установить в системе переменную окружения LANG. В создании новой переменной нет ничего сложного, но на всякий случай привожу инструкцию. Заходим в настройки системы Win+Break -> дополнительные параметры системы -> Дополнительно -> Переменные среды -> Создать… Вводим имя переменной LANG, значение ru_RU.UTF-8.
Если по каким-то причинам вы не можете создавать переменные окружения, тогда можно добавить несколько строк в _vimrc:

Если вы ещё не включили Unicode, самое время сделать это. Открываем _vimrc и добавляем строку set encoding=utf-8. Теперь при запуске GVIM с установленным UTF-8 все сообщения будут отображаться на нормальном русском языке.


(Великий и ужасный GVim после внесения исправлений)

Настройка переключения раскладки в GVim

Зачем что-то делать с переключением раскладки и отказываться от любимого Ctrl+Shift / Alt+Shift? Ответ прост — это не удобно.

После внесения изменений при нажатии Ctrl+^ у нас будет переключаться раскладка, при этом в режиме ввода русского языка курсор будет гореть синим цветом. (За разъяснениям, что делает каждая из команд обращайтесь к статье, которая упоминалась в самом начале)


(Тюнингованный GVim в режиме ввода русского языка)

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

Настройка проверки орфографии в GVim

Проверка орфографии включается с помощью команды:

При первом запуске из интернета загружаются все необходимые словари, после загрузки сразу включается проверка орфографии.

Ранее для корректной проверки слов, содержащих «ё», необходимо было дополнительно устанавлить словарь ru_yo, сейчас достаточно одного ru_ru. Но после подключения ru_yo, слова в которых «ё» было заменено на «е» будут подчёркиваться синим цветом.

Отключается проверка орфографии с помощью команды:

Вуаля! Теперь можно наслаждаться полноценной поддержкой русского языка в GVim.

Надеюсь, что статья вышла простой для понимания и окажется кому-нибудь полезной.

P. S. Запостил баг о необходимости перевода windows-версии GVim с дефолтной cp1251 на utf-8, пока никаких комментариев не было; думаю, что в готовящимся Vim 7.4 UTF-8 займет своё законное место.

P. P. S. Если кому-то понравилась моя иллюстрация, можете забирать (лицензия cc-by-sa 3.0).

Источник

Как установить язык пользовательского интерфейса в vim?

Я видел этой на reddit, и это напомнило мне об одном из моих Vim gripes: он показывает пользовательский интерфейс в немецкий. Будь ты проклята, ВИМ! Я хочу!—5—>английский язык, но поскольку моя ОС настроена на немецком языке (стандарт в нашем офисе), я думаю, vim на самом деле пытается быть полезным.

какие магические заклинания я должен выполнить, чтобы заставить vim переключить язык пользовательского интерфейса? Я пробовал гуглить в разных случаях, но, похоже, не могу найти ответ (Нет, Google, вы мой друг * pat*, * pat*, но я уже знаю, как изменить подсветку синтаксиса, спасибо!).

EDIT: используя все хорошие советы ниже, я закончил тем, что добавил Это в верхнюю часть моего .vimrc (запуск Vim 7.2 В Windows 7)

15 ответов

обратите внимание, что положить это в ваш .vimrc или .gvimrc не поможет вам с меню в gvim, так как их определение загружается один раз при запуске, очень рано, и не перечитывается позже. Так что вам действительно нужно установить LC_ALL (или, более конкретно LC_MESSAGES ) в вашей среде-или на не-Unixoid системах (например. Windows), вы можете передать —cmd switch (который выполняет данную команду во-первых, в отличие от ):

как я уже говорил, вам не нужно использовать LC_ALL , который принудительно переключит все аспекты вашей вычислительной среды. Вы можете сделать больше нюансов. F. ex., мои собственные настройки локали выглядят следующим образом:

это означает, что я получаю в основном английскую систему, но с немецкой семантикой для букв, за исключением того, что порядок сортировки по умолчанию является ASCIIbetical(т. е. сортировка по codepoint, а не в соответствии с языковыми соглашениями). Вы можете использовать другой вариант; см. man 7 locale дополнительные.

Для справки, в Windows (7) я просто удалил каталог C:\Program Files (x86)\Vim\vim72\lang . Что сделали его переключение на язык.

попробуйте это в _vimrc. Он работает с моим с Win7.

размещение этой строки кода в верхней части моего файла _vimrc спасло мой день:

это сработало для изменения языка меню vim

дал мне ошибку, сказав, что он не может установить en как язык, но эта строка сделала работу

последние исходят от документы Vim. Я добавил обе строки в начале файла _vimrc. Я использую компьютер Windows 7 64.

PS: эта строка изменяет язык и язык меню

в рамках .файл vimrc (или файл _vimrc если вы находитесь в Windows)

Ubuntu 10.10 + VIM 7.2 улучшено. Код ниже изменяет язык для консоли vim. Добавьте его поверх vim.rc

эти две строки в самом начале вашего .файл vimrc выполнит эту работу:

запустите vim с измененным языком:

или экспортируйте эту переменную по умолчанию в свой bashrc / профиль.

:язык называться fr_fr.ISO_8859-1

добавление этого в _vimrc работает для меня в windows 8:

(обратите внимание, что _vimrc находится в том же каталоге, который содержит мой vim74 dir, это файл _vimrc, который vim читает при запуске)

Я не знаю, почему все вышеперечисленные ответы не работает для меня. Я продолжал получать ошибки о том, что локалей не существует. Может, дело в окнах. Во всяком случае, моим решением было добавить это в мой vimrc: пусть $LANG = ‘en’

Ах, я заговорил слишком рано. Меню gVim по-прежнему на японском языке, но экран ввода на английском языке.

Windows-Два Vim

ничто отсюда не помогло мне, пока я не понял, что у меня есть 2 Vim.

  1. Git Bash через MinGW (Cygwin, mintty)
  2. отдельная установка в файлы программы на Windows

далее команда будет фильтр вы все смотрели vimrc-файлы и их расположение.

  • _vimrc (Windows & CMD)
  • .vimrc (Bash для Git)
  • vimrc (имеет разные местоположения для обоих)

1: Vim на Windows & CMD

только переименование (удаление)Ланг папка помогла мне.

вы можете найти его здесь C:\Program Files (x86)\Vim\vim80\lang

я пробовал все настройки конфигурации, перечисленные здесь. Это было бесполезно.

2.1: Git Bash через MinGW, Cygwin, mintty

для Git Bash я добавил language messages en_US вверху C:\Program Files\Git\etc\vimrc

конечно, если вы предпочитаете, чтобы удалить Ланг папку вы можете найти здесь

  • C:\Program Files\Git\usr\share\vim\vim80\lang
  • C:\Users\User_name_xxx\AppData\Local\Programs\Git\usr\share\vim\vim80\lang для установки локального пользователя.

2.2: настройка только Git’s Bash (MinGW64, Cygwin, mintty)

в конце, для Bash на Windows, я решил пропустить манипуляции с vimrc

открыл C:\Program Files\Git\etc\bash.bashrc и добавил следующую строку

но не использовать en_US.UTF-8 потому что это делает странные символы для некоторых команд bash. Например, в ‘find’ xxx_yyy_zzz_aaa.bbbddd ‘ для несуществующего файла.

была аналогичная проблема, но ни одно из вышеперечисленных решений не работало: https://superuser.com/questions/552504/vim-ui-language-issue/552523

Я решил это, удалив все пакеты vim и построив vim источники.

надеюсь, это поможет кто-то.

Если вы находитесь в Windows и не хотите, чтобы вас беспокоили команды

чтобы предотвратить загрузку файлов локализации GUI

просто перейдите в Program Files\Vim\vim80\lang и поместите подчеркивание в качестве префикса перед всеми файлами, которые выглядят так, как будто они имеют какое-то отношение к вашей локали.

чтобы предотвратить загрузку файлов локализации самой VIM

в той же папке, что и выше, префикс с подчеркиванием папки с именем вашей страны код.

Примечание: Windows 10, вероятно, запросит права администратора, подняв предупреждение UAC.

кстати

этот же метод может быть применен ко многим инструментам Unix / Linux, портированным на Windows, и вообще ко всем пакетам программного обеспечения, где файлы локализации могут быть легко доступны. Если вы переименуете их, чтобы предотвратить их поиск приложением, резервным языком, скорее всего, будет английский.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Vim editor for windows
  • Vikings war of clans windows phone
  • Vikingi игра для windows
  • Viglance для windows xp
  • Viewsonic vx2268wm драйвер windows 10