UI dilini vim'de nasıl ayarlarım?


102

Gördüğüm bu reddit'te ve bu benim vim sancı biri hatırlattı: Bu içinde UI gösterir Almanca . Lanet olsun sana, vim! İngilizce istiyorum , ancak işletim sistemim Almanca olarak kurulduğundan (ofisimizdeki standart), sanırım vim aslında yardımcı olmaya çalışıyor.

Kullanıcı arayüzünün dilini değiştirmesini sağlamak için hangi sihirli büyüleri yapmalıyım? Çeşitli durumlarda googling yapmayı denedim, ancak bir cevap bulamıyorum (Hayır, Google, sen benim arkadaşımsın * pat *, * pat *, ama söz dizimi vurgulamasını nasıl değiştireceğimi zaten biliyorum, teşekkür ederim!) ...

DÜZENLEME: Aşağıdaki tüm iyi ipuçlarını kullanarak, bunu üstüme .vimrcekledim (Windows 7'de Vim 7.2'yi çalıştırıyorum)

set langmenu=en_US.UTF-8    " sets the language of the menu (gvim)
language en                 " sets the language of the messages / ui (vim)

Benim açımdan, dil en gVim'i başlattığımda bana her zaman bir hata verdi. C dilini kullandım ve harika çalıştı!
ghigad

Yanıtlar:


34

Ken belirtildiği gibi, istediğiniz komutu .:language

Bunu , gvim'deki menülere koymanın .vimrcveya .gvimrcsize yardımcı olmayacağına dikkat edin, çünkü tanımları başlangıçta bir kez, çok erken bir zamanda yüklenir ve daha sonra tekrar okunmaz. Bu nedenle, gerçekten ortamınızda LC_ALL(veya daha spesifik olarak LC_MESSAGES) ayarlamanız gerekir - veya Unixoid olmayan sistemlerde (örn. Windows), --cmdanahtarı geçebilirsiniz (bu, -cseçeneğin aksine, verilen komutu ilk önce çalıştırır ):

gvim --cmd "lang en_US"

Bahsettiğim gibi, kullanmaya gerek yok LC_ALL, bu da bilgisayar ortamınızın tüm yönlerini zorla değiştirecek. Daha incelikli şeyler yapabilirsiniz. F.ex., kendi yerel ayarlarım şuna benzer:

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

Bu, büyük ölçüde İngilizce bir sisteme sahip olduğum anlamına gelir, ancak harfler için Almanca semantiği vardır, ancak varsayılan sıralama düzeni ASCIIbetical'dir (yani, kod noktasına göre sırala, dil kurallarına göre değil). Farklı bir varyasyon kullanabilirsiniz; man 7 localedaha fazlası için bakın .


1
Bunu biraz daha kontrol etmem gerekecek - şu anda AFAIR çalışmıyor, ancak önümüzdeki çarşamba söz konusu makineye yalnızca erişebilecek. Cevabın için teşekkürler.
Daren Thomas

benim için işe yaramadı (vim en_US'yi bulamadığından şikayet etti ?!) ama @ August-Lilleaas çözümü işe yaradı!
Stefano

17
Windows 7'de kullanmak zorundaydımgvim --cmd "lang English_United States"
hfs

2
language messages envimrc'nizi de ekleyebilirsiniz (not: en baştan olmalıdır).
vorou

4
@hfs Yorumunuz için çok teşekkürler. Ben ekledik language English_United Statesbenim de _vimrcdosyaya ve VIM 7.4 ve Windows 8 altında bana yardımcı
Artyom

98

Referans için, Windows'ta (7) dizini sildim C:\Program Files (x86)\Vim\vim72\lang. Bu onu en_US'ye geri döndürdü.


14
Daha sonra ihtiyacım olması durumunda lang_ori olarak değiştirdim.
shin

1
\usr\share\vim\vim80\langiçin MinGW veya Cygwin Windows üzerinde kullanıcıların yardımcı olur
it3xl

@AugustLilleaas langKlasörü silmenin güvenli olduğunu düşünüyor musunuz ?
Danny

38

Bunu _vimrc'de deneyin. Win7 ile çalışıyor.

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

Aynı burada, bu çalıştı. delmenu - menuDöngünün çok önemli olduğuna inanıyorum .
ThomasH

18

Bu kod satırını _vimrc dosyamın en üstüne koymak günümü kurtardı:

set langmenu=en_US.UTF-8

9
Aslında bu ayarlanmış langmenu = en_US.UTF-8, en azından benim
gVim 7.2'imde

Rytmis'in iki nokta üstüste dediği gibi elbette bir cazibe gibi çalışır (:)
Piotr Owsiak

not: bu, menünün dilini ayarlar, ancak mesajlar vb. için: dil ayarı gerekir.
Daren Thomas

set langmenu=noneGerçek (İngilizce) dili belirtmek yerine kullanarak bunu kolaylaştırabileceğinizi unutmayın .
Rabarberski

11

Bu, vim'in menü dilini değiştirmek için çalıştı

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

Fakat

language en 

dil olarak ayarlanamadığını söyleyen bir hata verdi ama bu satır işi yaptı

:let $LANG = 'en'

İkincisi, Vim'in belgelerinden gelir . _Vimrc dosyasının başına her iki satırı da ekledim. Windows 7 64 bilgisayar kullanıyorum.

Not: bu satır hem dili hem de menü dilini değiştirir

language messages en

.Vimrc dosyasında (veya Windows'taysanız _vimrc dosyasında)


6

Ubuntu 10.10 + VIM 7.2 IMproved. Aşağıdaki kod, konsol vim için dili değiştirir. Vim.rc dosyanızın üstüne ekleyin

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

4

.Vimrc dosyanızın başındaki bu iki satır işi yapacak:

let $LANG = 'en'
set langmenu=none

4

Bunu _vimrc'ye eklemek benim için Windows 8'de çalışıyor:

set langmenu=en_US
let $LANG = 'en_US'

(_vimrc'nin vim74 dizinimi içeren aynı dizinde olduğunu, vim'in başlangıçta okuduğu _vimrc dosyasının olduğunu unutmayın)


3

Vim'i değiştirilmiş bir yerel ayarla başlatın:

LC_ALL=en_GB.utf-8 vim

Veya bu değişkeni bashrc / profilinize varsayılan olarak dışa aktarın.


3

: yardım dili

: dil fr_FR.ISO_8859-1


1

Yukarıdaki cevapların hepsi benim için neden işe yaramadı bilmiyorum. Mevcut olmayan yerel ayarlar hakkında hatalar almaya devam ettim. Belki bu bir Windows şeyidir. Her neyse, benim çözümüm bunu vimrc'ime eklemekti: let $ LANG = 'en'

Ah, çok erken konuştum. GVim'in menüleri hala Japoncadır, ancak giriş ekranı İngilizce'dir.


1

Windows - İki Vim

Buradan hiçbir şey 2 Vim'im olduğunu anlayana kadar bana yardımcı olmadı.

  1. MinGW aracılığıyla Git Bash (Cygwin, mintty)
  2. Windows'taki Program Dosyalarında ayrı bir kurulum

Sonraki komut size tüm izledi filtreleyeceğini vimrc -dosyalar ve konumlarını.

vim --version | grep vimrc
  • _vimrc (Windows ve CMD)
  • .vimrc (Git için Bash)
  • vimrc (her ikisi için farklı konumlara sahiptir)

1: Windows ve CMD'de Vim

Sadece lang klasörünün yeniden adlandırılması (silinmesi) bana yardımcı oldu.

Burada bulabilirsin C:\Program Files (x86)\Vim\vim80\lang

Burada listelenen tüm yapılandırma ayarlarını denedim. İşe yaramazdı.

2.1: Git Bash aracılığıyla MinGW, Cygwin, mintty

Git Bash language messages en_USiçin üst kısmına ekledimC:\Program Files\Git\etc\vimrc

Tabii ki lang klasörünü silmeyi tercih ederseniz, burada bulabilirsiniz

  • C:\Program Files\Git\usr\share\vim\vim80\lang
  • C:\Users\User_name_xxx\AppData\Local\Programs\Git\usr\share\vim\vim80\lang yerel bir kullanıcı kurulumu için.

2.2: Yalnızca Git's Bash'i ayarlama (MinGW64, Cygwin, mintty)

Sonunda, Windows'ta Bash için vimrc ile manipülasyonları atlamayı seçtim

Açtım C:\Program Files\Git\etc\bash.bashrc ve sonraki satırı ekledim

LANG='en_US'

veya

LANG=C

ama kullanmaz en_US.UTF-8çünkü bazı bash komutlarına garip karakterler yapar. Örneğin, var olmayan dosya için "xxx_yyy_zzz_aaa.bbbddd" yi bulun.


1

Bunu _vimrc’inize eklemeyi deneyin :

let $LANG='en_US'


0

Windows'daysanız ve komut vermekle uğraşmak istemiyorsanız

GUI'nin yerelleştirme dosyalarını yüklemesini önlemek için

Program Files\Vim\vim80\langYerel ayarınızla bir ilgisi varmış gibi görünen tüm dosyaların önüne bir önek olarak gidin ve alt çizgi koyun.

VIM'in kendisinin yerelleştirme dosyalarını yüklemesini önlemek için

Yukarıdaki ile aynı klasörde, ülke kodunuzla adlandırılan klasörün önekini alt çizgi ile belirtin.

Not : Windows 10 muhtemelen bir UAC uyarısı oluşturarak Yönetici ayrıcalıkları isteyecektir.

Bu arada

Bu aynı teknik, Windows'ta taşınan birçok Unix / Linux aracına ve genellikle yerelleştirme dosyalarına kolayca erişilebilen tüm yazılım paketlerine uygulanabilir. Bunları uygulamanın bulmasını engellemek için yeniden adlandırırsanız, yedek dil büyük olasılıkla İngilizce olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.