Как установить язык пользовательского интерфейса в 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 / профиль.
добавление этого в _vimrc работает для меня в windows 8:
set langmenu=en_US
let $LANG = 'en_US'
(обратите внимание, что _vimrc находится в том же каталоге, который содержит мой vim74 dir, это файл _vimrc, который vim читает при запуске)
Я не знаю, почему все вышеперечисленные ответы не работает для меня. Я продолжал получать ошибки о том, что локалей не существует. Может, дело в окнах. Во всяком случае, моим решением было добавить это в мой vimrc: пусть $LANG = 'en'
Ах, я заговорил слишком рано. Меню gVim по-прежнему на японском языке, но экран ввода на английском языке.
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
только переименование (удаление)Ланг папка помогла мне.
вы можете найти его здесь 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, и вообще ко всем пакетам программного обеспечения, где файлы локализации могут быть легко доступны. Если вы переименуете их, чтобы предотвратить их поиск приложением, резервным языком, скорее всего, будет английский.