¿Cómo configuro el idioma de la interfaz de usuario en vim?

102

Vi esto en reddit y me recordó a una de mis quejas de vim: muestra la interfaz de usuario en alemán . ¡Maldito seas, vim! Quiero inglés , pero como mi sistema operativo está configurado en alemán (el estándar en nuestra oficina), creo que vim está tratando de ser útil.

¿Qué encantamientos mágicos debo realizar para que vim cambie el idioma de la interfaz de usuario? He intentado buscar en Google en varias ocasiones, pero parece que no encuentro una respuesta (No, Google, eres mi amigo * pat *, * pat *, pero ya sé cómo cambiar el resaltado de sintaxis, ¡gracias!) ...

EDITAR: Usando todos los buenos consejos a continuación, terminé agregando esto a la parte superior de mi .vimrc(ejecutando Vim 7.2 en 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
fuente
Por mi parte, language en siempre me dio un error cuando inicié gVim. ¡Usé el lenguaje C y funcionó de maravilla!
ghigad

Respuestas:

34

Como señaló Ken, quieres el :languagecomando .

Tenga en cuenta que poner esto en su .vimrco .gvimrcno le ayudará con los menús en gvim, ya que su definición se carga una vez al inicio, muy pronto y no se vuelve a leer más tarde. Entonces, realmente necesita configurar LC_ALL(o más específicamente LC_MESSAGES) en su entorno, o en sistemas que no son Unixoid (por ejemplo, Windows), puede pasar el --cmdinterruptor (que ejecuta el comando dado en primer lugar, a diferencia de la -copción):

gvim --cmd "lang en_US"

Como mencioné, no necesita usar LC_ALL, lo que cambiará por la fuerza todos los aspectos de su entorno informático. Puedes hacer cosas más matizadas. Por ejemplo, mi propia configuración regional se ve así:

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

Esto significa que obtengo un sistema en gran parte en inglés, pero con semántica alemana para las letras, excepto que el orden de clasificación predeterminado es ASCIIbetical (es decir, ordenar por punto de código, no según las convenciones del idioma). Podría usar una variación diferente; ver man 7 localemás.

Aristóteles Pagaltzis
fuente
1
Tendré que verificar esto un poco más: actualmente no está funcionando AFAIR, pero solo tendrá acceso a la máquina en cuestión el próximo miércoles. Gracias por su respuesta.
Daren Thomas
no funcionó para mí (vim se quejó de que no pudo encontrar en_US?!) pero la solución de @ August-Lilleaas funcionó.
Stefano
17
En Windows 7 tuve que usargvim --cmd "lang English_United States"
hfs
2
también puede agregar language messages ensu vimrc (nota: debería estar al principio).
vorou
4
@hfs Muchas gracias por tu comentario. Lo agregué language English_United Statesa mi _vimrcarchivo y me ayudó en VIM 7.4 y Windows 8.
Artyom
98

Como referencia, en Windows (7) acabo de eliminar el directorio C:\Program Files (x86)\Vim\vim72\lang. Eso lo hizo retroceder a en_US.

Agosto Lilleaas
fuente
14
Cambié a lang_ori en caso de que lo necesite más tarde.
shin
1
\usr\share\vim\vim80\langpara usuarios de MinGW o Cygwin en Windows ayuda
it3xl
@AugustLilleaas ¿Crees que eliminar la langcarpeta es seguro?
Danny
38

Pruebe esto en _vimrc. Funciona con mi win7.

set langmenu=en_US
let $LANG = 'en_US'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
zjk
fuente
Lo mismo aquí, este funcionó. Creo que el delmenu - menuciclo es crucial.
ThomasH
18

Poner esta línea de código en la parte superior de mi archivo _vimrc me salvó el día:

set langmenu=en_US.UTF-8
Pavel Bastov
fuente
9
En realidad, eso está configurado langmenu = en_US.UTF-8, al menos en mi gVim 7.2
Rytmis
Funciona de maravilla, por supuesto, como dice Rytmis sin los dos puntos (:)
Piotr Owsiak
nota: esto establecerá el idioma del menú, pero los mensajes, etc. necesitan el: idioma establecido.
Daren Thomas
Tenga en cuenta que puede hacerlo más fácil utilizando en set langmenu=nonelugar de especificar el idioma real (inglés).
Rabarberski
11

Esto funcionó para cambiar el idioma del menú de vim

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

Pero

language en 

me dio un error diciendo que no podía establecer en como idioma, pero esta línea hizo el trabajo

:let $LANG = 'en'

Estos últimos provienen de los documentos de Vim . Agregué ambas líneas al comienzo del archivo _vimrc. Utilizo una computadora con Windows 7 64.

PD: esta línea cambia tanto el idioma como el idioma de los menús

language messages en

En el archivo .vimrc (o archivo _vimrc si está en Windows)

PerseP
fuente
6

Ubuntu 10.10 + VIM 7.2 mejorado. El código siguiente cambia el idioma de la consola vim. Agréguelo en la parte superior de su vim.rc

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

Estas dos líneas al principio de su archivo .vimrc harán el trabajo:

let $LANG = 'en'
set langmenu=none
Bagazo
fuente
3

Inicie vim con una configuración regional cambiada:

LC_ALL=en_GB.utf-8 vim

O exporta esa variable por defecto en tu bashrc / profile.

Armin Ronacher
fuente
3

: idioma de ayuda

: idioma fr_FR.ISO_8859-1

Conocido
fuente
3

Agregar esto a _vimrc funciona para mí en Windows 8:

set langmenu=en_US
let $LANG = 'en_US'

(tenga en cuenta que _vimrc está en el mismo directorio que contiene mi directorio vim74, ese es el archivo _vimrc que vim lee al inicio)

Ignacio
fuente
1

No sé por qué todas las respuestas anteriores no funcionaron para mí. Seguí recibiendo errores sobre las configuraciones regionales que no existen. Quizás sea una cosa de Windows. En cualquier caso, mi solución fue agregar esto a mi vimrc: let $ LANG = 'en'

Ah, hablé demasiado pronto. Los menús de gVim todavía están en japonés, pero la pantalla de introducción está en inglés.

HydroKirby
fuente
1

Windows: dos Vim

Nada de aquí me ha ayudado hasta que me he dado cuenta de que tengo 2 Vim.

  1. Git Bash a través de MinGW (Cygwin, mintty)
  2. Una instalación separada en Archivos de programa en Windows

El siguiente comando filtrará todos los archivos vimrc vistos y sus ubicaciones.

vim --version | grep vimrc
  • _vimrc (Windows y CMD)
  • .vimrc (Bash para Git)
  • vimrc (tiene diferentes ubicaciones para ambos)

1: Vim en Windows y CMD

Solo me ayudó el cambio de nombre (eliminación) de la carpeta lang .

Lo puedes encontrar aquí C:\Program Files (x86)\Vim\vim80\lang

He probado todos los ajustes de configuración enumerados aquí. Fue inútil.

2.1: Git Bash a través de MinGW, Cygwin, mintty

Para Git Bash he agregado language messages en_USen la parte superior deC:\Program Files\Git\etc\vimrc

Por supuesto, si prefiere eliminar la carpeta lang , puede encontrarla aquí.

  • C:\Program Files\Git\usr\share\vim\vim80\lang
  • C:\Users\User_name_xxx\AppData\Local\Programs\Git\usr\share\vim\vim80\lang para una instalación de usuario local.

2.2: Ajuste solo de Git's Bash (MinGW64, Cygwin, mintty)

Al final, para Bash en Windows, he optado por omitir las manipulaciones con vimrc

Abrí C:\Program Files\Git\etc\bash.bashrc y agregué la siguiente línea

LANG='en_US'

o

LANG=C

pero no se usa en_US.UTF-8porque crea caracteres extraños en algunos comandos de bash. Por ejemplo, en `busque 'xxx_yyy_zzz_aaa.bbbddd' para un archivo no existente.

it3xl
fuente
1

Intente agregar esto a su _vimrc :

let $LANG='en_US'
Lucien
fuente
0

Si estás en Windows y no quieres que te molesten en emitir comandos

Para evitar que la GUI cargue archivos de localización

Simplemente vaya Program Files\Vim\vim80\langay coloque un guión bajo como prefijo delante de todos los archivos que parezcan tener algo que ver con su configuración regional.

Para evitar que VIM cargue archivos de localización

En la misma carpeta anterior, anteponga un subrayado a la carpeta nombrada con el código de su país.

Nota : Windows 10 probablemente solicitará privilegios de administrador al generar una advertencia de UAC.

Por cierto

Esta misma técnica se puede aplicar a muchas herramientas Unix / Linux portadas a Windows y, en general, a todos los paquetes de software donde se puede acceder fácilmente a los archivos de localización. Si les cambia el nombre para evitar que la aplicación los encuentre, lo más probable es que el idioma de respaldo sea el inglés.

sm
fuente