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

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

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

РЕДАКТИРОВАТЬ: Используя все полезные советы ниже, я закончил тем, что добавил это в начало моего .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)

Ответ 1

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

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

gvim --cmd "lang en_US"

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

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

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

Ответ 2

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

Ответ 3

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

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

Ответ 4

Поместив эту строку кода в начало моего файла _vimrc, сохраненный мой день:

set langmenu=en_US.UTF-8

Ответ 5

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

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

Но

language en 

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

:let $LANG = 'en'

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

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

language messages en

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

Ответ 6

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

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

Ответ 7

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

let $LANG = 'en'
set langmenu=none

Ответ 8

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

LC_ALL=en_GB.utf-8 vim

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

Ответ 9

: язык справки

: язык fr_FR.ISO_8859-1

Ответ 10

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

set langmenu=en_US
let $LANG = 'en_US'

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

Ответ 11

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

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

Ответ 12

Windows - два Vim

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

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

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

vim --version | grep vimrc
  • _vimrc (Windows и CMD)
  • .vimrc(Bash для 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 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 для не существующего файла.

Ответ 14

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

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

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

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

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

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

Кстати

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