Как установить язык интерфейса в 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 для не существующего файла.
Ответ 13
Имел подобную проблему, но ни одно из вышеперечисленных решений не работало:
https://superuser.com/questions/552504/vim-ui-language-issue/552523
Я решил это, удалив все пакеты vim и создав vim из источников.
Надеюсь, что это поможет кому-то.
Ответ 14
Если вы работаете в Windows и не хотите беспокоиться о выдаче команд
Чтобы пользовательский интерфейс не загружал файлы локализации
Просто перейдите к Program Files\Vim\vim80\lang
и поставьте знак подчеркивания в качестве префикса перед всеми файлами, которые выглядят так, как будто они имеют какое-то отношение к вашему языку.
Чтобы предотвратить сам VIM от загрузки файлов локализации
В той же папке, что и выше, префикс с подчеркиванием представляет собой папку с кодом страны.
Примечание. Windows 10, возможно, попросит разрешения администратора, подняв предупреждение UAC.
Кстати
Эта же методика может быть применена ко многим инструментам Unix/Linux, перенесенным в Windows, и, как правило, всем пакетам программного обеспечения, к которым легко доступны файлы локализации. Если вы переименуете их, чтобы предотвратить их обнаружение, резервным языком, скорее всего, будет английский.