Як встановити мову інтерфейсу в vim?


102

Я бачив це на reddit, і це нагадувало мені одну з моїх vim хват: Він показує користувальницький інтерфейс німецькою мовою . Чорт ти, вим! Я хочу англійською , але оскільки моя ОС створена німецькою мовою (стандарт у нас в офісі), я думаю, 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)

З мого боку, мова en завжди припускала мені помилку, коли я починав gVim. Я використовував мову C, і це працювало як шарм!
ghigad

Відповіді:


34

Як зазначив Кен, ви хочете в :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

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


1
Мені доведеться перевірити це ще трохи - він наразі не працює AFAIR, але матиме доступ лише до цієї машини наступної середи. Дякую за вашу відповідь
Дарен Томас

не працював для мене (vim поскаржився, що не може знайти en_US ?!), але рішення @ August-Lilleaas все-таки спрацювало!
Стефано

17
У Windows 7 мені довелося користуватисяgvim --cmd "lang English_United States"
hfs

2
ви також можете додати language messages enу свій vimrc (зауважте: це має бути на самому початку).
vorou

4
@hfs Дякую за ваш коментар. Я додав language English_United Statesу свій _vimrcфайл, і це допомогло мені під VIM 7.4 та Windows 8.
Артем

98

Для довідки, у Windows (7) я щойно видалив каталог C:\Program Files (x86)\Vim\vim72\lang. Це зробило резерв до en_US.


14
Я змінив на lang_ori, якщо мені знадобиться пізніше.
шинь

1
\usr\share\vim\vim80\langдля користувачів MinGW або Cygwin в Windows допомагає
it3xl

@AugustLilleaas Ви вважаєте, що видалення langпапки безпечне?
Денні

38

Спробуйте це в _vimrc. Це працює з моїм win7.

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

Тут же, і цей працював. Я вважаю, що delmenu - menuцикл є вирішальним.
ThomasH

18

Якщо розмістити цей рядок коду у верхній частині мого _vimrc-файлу, ми врятували мій день:

set langmenu=en_US.UTF-8

9
Насправді це встановлено langmenu = en_US.UTF-8, принаймні на моєму gVim 7.2
Rytmis

Діє як чарівність, звичайно, як каже Рітміс без двокрапки (:)
Piotr Owsiak

Примітка: це встановить мову меню, але для повідомлень тощо потрібен: набір мови.
Дарен Томас

Зауважте, що ви можете зробити це легше, використовуючи set langmenu=noneзамість того, щоб вказувати фактичну (англійську) мову.
Рабарберський

11

Це допомогло змінити мову меню vim

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

Але

language en 

дав мені помилку, сказавши, що вона не могла встановити en як мову, але ця лінія зробила роботу

:let $LANG = 'en'

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

PS: цей рядок змінює і мову, і мову меню

language messages en

У файлі .vimrc (або _vimrc-файл, якщо ви перебуваєте у Windows)


6

Ubuntu 10.10 + VIM 7.2 IMproved. Код нижче змінює мову для консолі vim. Додайте його вгорі свого vim.rc

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

4

Ці два рядки на початку вашого файлу .vimrc виконають цю роботу:

let $LANG = 'en'
set langmenu=none

3

Запустіть vim зі зміненою локаллю:

LC_ALL=en_GB.utf-8 vim

Або експортуйте цю змінну за замовчуванням у ваш bashrc / профіль.



3

Додавання цього до _vimrc працює для мене у Windows 8:

set langmenu=en_US
let $LANG = 'en_US'

(зауважте, що _vimrc знаходиться в тому самому каталозі, який містить мій dir vim74, ось файл _vimrc, який читає vim при запуску)


1

Я не знаю, чому всі вищезазначені відповіді не спрацювали для мене. Я продовжував отримувати помилки щодо неіснуючих локалів. Можливо, це річ з Windows. У будь-якому випадку моїм рішенням було додати це до мого vimrc: нехай $ LANG = 'en'

Ах, я говорив занадто рано. Меню gVim все ще є японською, але вступний екран - англійською.


1

Вікна - Два Vim

Ніщо звідси мені не допомогло, поки я не зрозумів, що у мене є 2 Vim.

  1. Git Bash через MinGW (Cygwin, м'ятний)
  2. Окрема установка в програмних файлах для 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, м'ята

Для 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, м'ятний)

Зрештою, для 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 "для неіснуючого файлу.




0

Якщо ви працюєте в Windows і не хочете, щоб вас заважали видавати команди

Щоб GUI не завантажував файли локалізації

Просто зайдіть Program Files\Vim\vim80\lang і поставте підкреслення як префікс перед усіма файлами, схожими на те, що вони мають щось спільне з вашим місцем.

Щоб запобігти самому завантаженню файлів локалізації VIM

У тій же папці, що і вище, префікс із підкресленням папки, названої кодом вашої країни.

Примітка : Windows 10, ймовірно, запитає права адміністратора, підвищивши попередження UAC.

До речі

Ця ж методика може бути застосована до багатьох інструментів Unix / Linux, що переносяться в Windows, і взагалі до всіх програмних пакетів, де можна легко отримати доступ до файлів локалізації. Якщо ви перейменовуєте ті, щоб перешкодити програмі їх знаходити, мовою резервного використання, швидше за все, буде англійська.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.