Bagaimana cara mengatur bahasa UI di vim?

102

Saya melihat ini di reddit, dan itu mengingatkan saya pada salah satu keluhan vim saya: Ini menunjukkan UI dalam bahasa Jerman . Sialan, vim! Saya ingin bahasa Inggris , tetapi karena OS saya diatur dalam bahasa Jerman (standar di kantor kami), saya rasa vim sebenarnya mencoba untuk membantu.

Mantra ajaib apa yang harus saya lakukan agar vim mengganti bahasa UI? Saya telah mencoba googling di berbagai kesempatan, tetapi sepertinya tidak dapat menemukan jawaban (Tidak, Google, Anda adalah teman saya * tepuk *, * tepuk *, tetapi saya semua sudah tahu cara mengubah penyorotan sintaks, terima kasih!) ...

EDIT: Menggunakan semua tip bagus di bawah ini, saya akhirnya menambahkan ini ke bagian atas saya .vimrc(menjalankan Vim 7.2 di 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)
Daren Thomas
sumber
Di sisi saya, bahasa en selalu memberi saya kesalahan ketika saya memulai gVim. Saya menggunakan bahasa C dan itu bekerja dengan sangat baik!
ghigad

Jawaban:

34

Seperti Ken dicatat, Anda ingin yang :languageperintah .

Perhatikan bahwa meletakkan ini di Anda .vimrcatau .gvimrctidak akan membantu Anda dengan menu di gvim, karena definisi mereka dimuat sekali saat startup, sangat awal, dan tidak dibaca ulang lagi nanti. Jadi Anda benar-benar perlu mengatur LC_ALL(atau lebih spesifik LC_MESSAGES) di lingkungan Anda - atau pada sistem non-Unixoid (mis. Windows), Anda dapat melewatkan --cmdsakelar (yang mengeksekusi perintah yang diberikan terlebih dahulu, sebagai lawan dari -copsi):

gvim --cmd "lang en_US"

Seperti yang saya sebutkan, Anda tidak perlu menggunakan LC_ALL, yang akan secara paksa mengalihkan semua aspek lingkungan komputasi Anda. Anda dapat melakukan hal-hal yang lebih bernuansa. F.ex., pengaturan lokal saya terlihat seperti ini:

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

Ini berarti saya mendapatkan sebagian besar sistem bahasa Inggris, tetapi dengan semantik bahasa Jerman untuk huruf, kecuali bahwa urutan pengurutan default adalah ASCIIbetical (mis. Urutkan berdasarkan titik kode, bukan menurut ketentuan bahasa). Anda bisa menggunakan variasi yang berbeda; lihat man 7 localelebih lanjut.

Aristoteles Pagaltzis
sumber
1
Saya harus memeriksanya lagi - saat ini AFAIR tidak berfungsi, tetapi hanya akan memiliki akses ke mesin yang dimaksud pada Rabu depan. Terimakasih atas balasan anda.
Daren Thomas
tidak berhasil untuk saya (vim mengeluh tidak dapat menemukan en_US ?!) tetapi solusi @ August-Lilleaas berhasil!
Stefano
17
Pada Windows 7 saya harus menggunakangvim --cmd "lang English_United States"
hfs
2
Anda juga dapat menambahkan language messages envimrc Anda (catatan: ini harus di awal).
vorou
4
@hfs Terima kasih banyak atas komentar Anda. Saya telah menambahkan file language English_United Statessaya _vimrcdan itu membantu saya di bawah VIM 7.4 dan Windows 8.
Artyom
98

Sebagai referensi, di Windows (7) saya baru saja menghapus direktori C:\Program Files (x86)\Vim\vim72\lang. Itu membuatnya kembali ke en_US.

Agustus Lilleaas
sumber
14
Saya mengubah ke lang_ori jika saya membutuhkannya nanti.
shin
1
\usr\share\vim\vim80\languntuk MinGW atau pengguna Cygwin di Windows membantu
it3xl
@AugustLilleaas Apakah menurut Anda menghapus langfolder itu aman?
Danny
38

Coba ini di _vimrc. Ia bekerja dengan win7 saya.

set langmenu=en_US
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
zjk
sumber
Sama di sini, yang ini berhasil. Saya percaya delmenu - menusiklus itu penting.
ThomasH
18

Menempatkan baris kode ini di bagian atas file _vimrc saya menyelamatkan hari saya:

set langmenu=en_US.UTF-8
Pavel Bastov
sumber
9
Sebenarnya itu disetel langmenu = en_US.UTF-8, setidaknya di gVim 7.2 saya
Rytmis
Bekerja seperti pesona, tentu saja seperti yang dikatakan Rytmis tanpa titik dua (:)
Piotr Owsiak
catatan: ini akan mengatur bahasa menu, tetapi pesan-pesan dll. membutuhkan: pengaturan bahasa.
Daren Thomas
Perhatikan bahwa Anda dapat membuatnya lebih mudah dengan menggunakan set langmenu=nonedaripada menentukan bahasa (Inggris) yang sebenarnya.
Rabarberski
11

Ini bekerja untuk mengubah bahasa menu vim

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

Tapi

language en 

memberi saya kesalahan mengatakan itu tidak bisa ditetapkan sebagai bahasa tetapi baris ini melakukan pekerjaan

:let $LANG = 'en'

Yang terakhir berasal dari dokumen Vim . Saya menambahkan kedua baris di awal file _vimrc. Saya menggunakan komputer Windows 7 64.

PS: baris ini mengubah bahasa dan bahasa menu

language messages en

Di file .vimrc (atau file _vimrc jika Anda berada di windows)

PerseP
sumber
6

Ubuntu 10.10 + VIM 7.2 Ditingkatkan. Kode di bawah ini mengubah bahasa untuk konsol vim. Tambahkan di atas vim.rc Anda

if has('unix')
    language messages C
else
    language messages en
endif
Anton Orel
sumber
4

Dua baris ini di awal file .vimrc Anda akan melakukan pekerjaan:

let $LANG = 'en'
set langmenu=none
Marc
sumber
3

Mulai vim dengan lokal yang diubah:

LC_ALL=en_GB.utf-8 vim

Atau ekspor variabel itu secara default di bashrc / profile Anda.

Armin Ronacher
sumber
3

: bahasa bantuan

: bahasa fr_FR.ISO_8859-1

Ken
sumber
3

Menambahkan ini ke _vimrc berfungsi untuk saya di windows 8:

set langmenu=en_US
let $LANG = 'en_US'

(perhatikan bahwa _vimrc ada di direktori yang sama yang berisi dir vim74 saya, itu adalah file _vimrc yang dibaca vim saat startup)

Ignacio
sumber
1

Saya tidak tahu mengapa semua jawaban di atas tidak berhasil untuk saya. Saya terus mendapatkan kesalahan tentang lokal yang tidak ada. Mungkin itu masalah Windows. Bagaimanapun, solusi saya adalah menambahkan ini ke vimrc saya: let $ LANG = 'en'

Ah, saya berbicara terlalu cepat. Menu gVim masih dalam bahasa Jepang, tetapi layar intro dalam bahasa Inggris.

HydroKirby
sumber
1

Windows - Dua Vim

Tidak ada dari sini yang membantu saya sampai saya menyadari bahwa saya memiliki 2 Vim.

  1. Git Bash melalui MinGW (Cygwin, mintty)
  2. Instalasi terpisah di Program Files di Windows

Berikutnya perintah akan menyaring semua menyaksikan vimrc -files dan lokasi mereka.

vim --version | grep vimrc
  • _vimrc (Windows & CMD)
  • .vimrc (Bash untuk Git)
  • vimrc (memiliki lokasi berbeda untuk keduanya)

1: Vim di Windows & CMD

Hanya mengganti nama (penghapusan) folder lang membantu saya.

Anda bisa menemukannya di sini C:\Program Files (x86)\Vim\vim80\lang

Saya telah mencoba semua pengaturan konfigurasi yang tercantum di sini. Itu tidak berguna.

2.1: Git Bash melalui MinGW, Cygwin, mintty

Untuk Git Bash saya telah menambahkan language messages en_USdi bagian atasC:\Program Files\Git\etc\vimrc

Tentu saja jika Anda lebih suka menghapus folder lang, Anda dapat menemukannya di sini

  • C:\Program Files\Git\usr\share\vim\vim80\lang
  • C:\Users\User_name_xxx\AppData\Local\Programs\Git\usr\share\vim\vim80\lang untuk penginstalan pengguna lokal.

2.2: Hanya menyetel Git's Bash (MinGW64, Cygwin, mintty)

Pada akhirnya, untuk Bash di Windows saya telah memilih untuk melewati manipulasi dengan vimrc

Saya membuka C:\Program Files\Git\etc\bash.bashrc dan menambahkan baris berikutnya

LANG='en_US'

atau

LANG=C

tetapi tidak digunakan en_US.UTF-8karena membuat karakter aneh untuk beberapa perintah bash. Misalnya di 'temukan' xxx_yyy_zzz_aaa.bbbddd 'untuk file yang tidak ada.

it3xl
sumber
1

Coba tambahkan ini ke _vimrc :

let $LANG='en_US'
Lucien
sumber
0

Memiliki masalah serupa, tetapi tidak satu pun dari solusi di atas yang berhasil: /superuser/552504/vim-ui-language-issue/552523

Saya telah menyelesaikannya dengan menghapus semua paket vim dan membangun vim dari sumber .

Semoga ini akan membantu seseorang.

Alexander Paramonov
sumber
0

Jika Anda menggunakan Windows dan tidak ingin repot mengeluarkan perintah

Untuk mencegah GUI memuat file lokalisasi

Buka saja Program Files\Vim\vim80\langdan beri garis bawah sebagai awalan di depan semua file yang sepertinya ada hubungannya dengan lokal Anda.

Untuk mencegah VIM itu sendiri memuat file lokalisasi

Dalam folder yang sama seperti di atas, awali dengan garis bawah folder yang diberi nama dengan kode negara Anda.

Catatan : Windows 10 mungkin akan meminta hak istimewa Administrator dengan menaikkan peringatan UAC.

Ngomong-ngomong

Teknik yang sama ini dapat diterapkan pada banyak alat Unix / Linux yang di-porting pada Windows, dan umumnya semua paket perangkat lunak tempat file pelokalan dapat dengan mudah diakses. Jika Anda mengganti nama mereka untuk mencegah aplikasi menemukannya, bahasa fallback kemungkinan besar adalah bahasa Inggris.

sm
sumber