Como eu defino o idioma da IU no vim?


102

Eu vi isso no reddit, e me lembrou de um dos meus problemas do vim: ele mostra a IU em alemão . Maldito seja, vim! Eu quero inglês , mas como meu sistema operacional está configurado em alemão (o padrão em nosso escritório), acho que o vim está realmente tentando ser útil.

Que encantamentos mágicos devo realizar para que o vim mude o idioma da IU? Tentei pesquisar no Google em várias ocasiões, mas não consigo encontrar uma resposta (Não, Google, você é meu amigo * pat *, * pat *, mas já sei como alterar o realce de sintaxe, obrigado!) ...

EDITAR: Usando todas as boas dicas abaixo, acabei adicionando isso no topo do meu .vimrc(executando o Vim 7.2 no 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)

Do meu lado, language en sempre me deu um erro quando iniciei o gVim. Usei a linguagem C e funcionou perfeitamente!
ghigad de

Respostas:


34

Como Ken observou, você quer o :languagecomando .

Observe que colocar isso em seu .vimrcou .gvimrcnão o ajudará com os menus no gvim, uma vez que sua definição é carregada uma vez na inicialização, bem no início, e não é relida novamente depois. Portanto, você realmente precisa definir LC_ALL(ou mais especificamente LC_MESSAGES) em seu ambiente - ou em sistemas não Unixoid (por exemplo, Windows), você pode passar a --cmdchave (que executa o comando fornecido primeiro, em oposição à -copção):

gvim --cmd "lang en_US"

Como mencionei, você não precisa usar o LC_ALL, o que mudará à força todos os aspectos do seu ambiente de computação. Você pode fazer coisas mais sutis. F.ex., minhas próprias configurações de local são assim:

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

Isso significa que obtenho um sistema basicamente inglês, mas com semântica alemã para letras, exceto que a ordem de classificação padrão é ASCIIbética (ou seja, classificar por ponto de código, não de acordo com as convenções de idioma). Você pode usar uma variação diferente; veja man 7 localepara mais.


1
Terei que verificar isso mais um pouco - não está funcionando AFAIR no momento, mas só terei acesso à máquina em questão na próxima quarta-feira. Obrigado por sua resposta.
Daren Thomas,

não funcionou para mim (vim reclamou que não conseguiu encontrar en_US ?!) mas a solução @ August-Lilleaas funcionou!
Stefano

17
No Windows 7 eu tive que usargvim --cmd "lang English_United States"
hfs

2
você também pode adicionar language messages enem seu vimrc (nota: deve ser no início).
vorou ​​de

4
@hfs Muito obrigado pelo seu comentário. Eu adicionei language English_United Statesem meu _vimrcarquivo e isso me ajudou no VIM 7.4 e no Windows 8.
Artyom

98

Para referência, no Windows (7) acabei de excluir o diretório C:\Program Files (x86)\Vim\vim72\lang. Isso o tornava um fallback para en_US.


14
Mudei para lang_ori caso precise mais tarde.
shin

1
\usr\share\vim\vim80\langpara usuários de MinGW ou Cygwin no Windows ajuda
it3xl

@AugustLilleaas Você acha que excluir uma langpasta é seguro?
Danny

38

Tente isso em _vimrc. Funciona com meu win7.

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

O mesmo aqui, este funcionou. Eu acredito que o delmenu - menuciclo é crucial.
ThomasH

18

Colocar esta linha de código no topo do meu arquivo _vimrc salvou meu dia:

set langmenu=en_US.UTF-8

9
Na verdade, está definido langmenu = en_US.UTF-8, pelo menos no meu gVim 7.2
Rytmis

Funciona perfeitamente, é claro, como Rytmis diz sem os dois pontos (:)
Piotr Owsiak

nota: isto irá definir o idioma do menu, mas as mensagens etc. precisam do: idioma definido.
Daren Thomas

Observe que você pode tornar mais fácil usando em set langmenu=nonevez de especificar o idioma real (inglês).
Rabarberski

11

Isso funcionou para mudar o idioma do menu do vim

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

Mas

language en 

me deu um erro dizendo que não poderia ser definido como um idioma, mas esta linha fez o trabalho

:let $LANG = 'en'

Os últimos vêm dos documentos do Vim . Eu adicionei as duas linhas no início do arquivo _vimrc. Eu uso um computador com Windows 7 64.

PS: esta linha muda o idioma e o idioma dos menus

language messages en

No arquivo .vimrc (ou arquivo _vimrc se você estiver no Windows)


6

Ubuntu 10.10 + VIM 7.2 IMproved. O código abaixo muda o idioma do console vim. Adicione-o no topo do seu vim.rc

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

4

Estas duas linhas no início do seu arquivo .vimrc farão o trabalho:

let $LANG = 'en'
set langmenu=none

3

Inicie o vim com um local alterado:

LC_ALL=en_GB.utf-8 vim

Ou exporte essa variável por padrão em seu bashrc / perfil.


3

:Idioma de ajuda

: linguagem fr_FR.ISO_8859-1


3

Adicionar isso a _vimrc funciona para mim no Windows 8:

set langmenu=en_US
let $LANG = 'en_US'

(observe que _vimrc está no mesmo diretório que contém meu diretório vim74, esse é o arquivo _vimrc que o vim lê na inicialização)


1

Não sei por que todas as respostas acima não funcionaram para mim. Continuei recebendo erros sobre as localidades não existentes. Talvez seja uma coisa do Windows. De qualquer forma, minha solução foi adicionar isso ao meu vimrc: let $ LANG = 'en'

Ah, falei muito cedo. Os menus do gVim ainda estão em japonês, mas a tela de introdução está em inglês.


1

Windows - Dois Vim

Nada daqui me ajudou até que eu percebesse que tenho 2 Vim.

  1. Git Bash via MinGW (Cygwin, mintty)
  2. Uma instalação separada nos Arquivos de Programa do Windows

O próximo comando irá filtrar todos os arquivos vimrc assistidos e suas localizações.

vim --version | grep vimrc
  • _vimrc (Windows e CMD)
  • .vimrc (Bash para Git)
  • vimrc (tem locais diferentes para ambos)

1: Vim no Windows e CMD

Apenas renomeando (deleção) do idioma pasta me ajudou.

Você pode encontrá-lo aqui C:\Program Files (x86)\Vim\vim80\lang

Tentei todas as configurações listadas aqui. Foi inútil.

2.1: Git Bash por meio de MinGW, Cygwin, mintty

Para Git Bash, adicionei language messages en_USno topo doC:\Program Files\Git\etc\vimrc

Claro, se você preferir excluir a pasta lang, você pode encontrá-la aqui

  • C:\Program Files\Git\usr\share\vim\vim80\lang
  • C:\Users\User_name_xxx\AppData\Local\Programs\Git\usr\share\vim\vim80\lang para uma instalação de usuário local.

2.2: Ajustando apenas o Bash do Git (MinGW64, Cygwin, mintty)

No final, para o Bash no Windows, optei por pular as manipulações com o vimrc

Eu abri C:\Program Files\Git\etc\bash.bashrc e adicionei a próxima linha

LANG='en_US'

ou

LANG=C

mas não use en_US.UTF-8porque torna estranhos caracteres para alguns comandos bash. Por exemplo em `find 'xxx_yyy_zzz_aaa.bbbddd' para arquivo não existente.


1

Tente adicionar isso ao seu _vimrc:

let $LANG='en_US'


0

Se você estiver no Windows e não quiser se incomodar em emitir comandos

Para evitar que a GUI carregue arquivos de localização

Basta acessar Program Files\Vim\vim80\lange colocar um sublinhado como prefixo na frente de todos os arquivos que parecem ter algo a ver com sua localidade.

Para evitar que o próprio VIM carregue arquivos de localização

Na mesma pasta acima, prefixe com um sublinhado a pasta nomeada com o código do seu país.

Observação : o Windows 10 provavelmente solicitará privilégios de administrador, emitindo um aviso do UAC.

A propósito

Essa mesma técnica pode ser aplicada a várias ferramentas Unix / Linux portadas no Windows e, geralmente, a todos os pacotes de software onde os arquivos de localização podem ser acessados ​​prontamente. Se você renomeá-los para evitar que o aplicativo os encontre, o idioma substituto provavelmente será o inglês.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.