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


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

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

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

set langmenu=en_US.UTF-8    " sets the language of the menu (gvim)
language en                 " sets the language of the messages / ui (vim)
15 95

15 ответов:

как отметил Кен, вы хотите the :language команда.

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

gvim --cmd "lang en_US"

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

LANG=en_US.utf8
LC_CTYPE=de_DE.utf8
LC_COLLATE=C

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

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

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

set langmenu=en_US
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

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

set langmenu=en_US.UTF-8

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

set langmenu=en_US.UTF-8  [or just set langmenu=en for short]

но

language en 

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

:let $LANG = 'en'

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

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

language messages en

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

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

if has('unix')
    language messages C
else
    language messages en
endif

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

let $LANG = 'en'
set langmenu=none

запустите vim с измененной локализацией:

LC_ALL=en_GB.utf-8 vim

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

: help language

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

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

set langmenu=en_US
let $LANG = 'en_US'

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

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

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

Windows-Два Vim

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

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

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

vim --version | grep vimrc
  • _vimrc (Windows & CMD)
  • .vimrc (Bash for Git)
  • vimrc (имеет разные места для обоих)

1: Vim на Windows & CMD

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

вы можете найти его здесь 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

конечно, если вы предпочитаете, чтобы удалить lang

  • 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 и добавил следующую строку

LANG='en_US'

или

LANG=C

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

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

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

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

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

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

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

для предотвращения самого Vim от загрузки файлов локализации

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

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

кстати

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

попробуйте добавить это в свой _vimrc:

let $LANG='en_US'