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

Я видел этой на reddit, и это напомнило мне об одном из моих Vim gripes: он показывает пользовательский интерфейс в немецкий. Будь ты проклята, ВИМ! Я хочу!--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 ответов


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

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

gvim --cmd "lang en_US"

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

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

это означает, что я получаю в основном английскую систему, но с немецкой семантикой для букв, за исключением того, что порядок сортировки по умолчанию является ASCIIbetical(т. е. сортировка по codepoint, а не в соответствии с языковыми соглашениями). Вы можете использовать другой вариант; см. 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.rc

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 / профиль.


:помогите язык

:язык называться 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 через MinGW (Cygwin, mintty)
  2. отдельная установка в файлы программы на Windows

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

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

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 и не хотите, чтобы вас беспокоили команды

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

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

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

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

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

кстати

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


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

let $LANG='en_US'