¿Cómo puedo hacer que gVim en Windows se comporte como en Linux?

13

Soy un usuario frecuente del editor Vim en Linux y ahora quiero usarlo en Windows.

Descargué Vim para Windows, que resulta ser gVim. Varias características de Vim no funcionan en gVim 7.4, como el bloque visual, el rxcomando y varias otras combinaciones de teclas.

Quiero que se use el mismo / original Vim de Linux en Windows. ¿Esa versión también está disponible para Windows? ¿O puedo usar configuraciones similares al formato Unix?

SibiCoder
fuente
2
Pruebe el Vim de tuxproject.de/projects/vim/x64
muru
66
Además, revise su _vimrcarchivo en busca de una línea que diga algo así source $VIMRUNTIME/mswin.vim. Ese archivo permite que muchas cosas de configuración sean compatibles con MSWindows (incluidas muchas asignaciones).
Roflo
77
Uso gvim a diario en Windows, tanto la GUI de gvim como el vim no gráfico a través de la consola cmder. Yo también estaba frustrado hasta que apagué el archivo de configuración mswin.vim e hice algunos otros ajustes. Simplemente eliminé el archivo _vimrc que se instaló con el programa y copié mi .vimrc de Linux a Windows, y luego fui desde allí.
Dan Jones
66
Otros comentaristas han aludido a esto, pero en realidad nadie lo dijo: el bloqueo visual funciona bien en Windows Vim. Solo necesita deshabilitar las ctrl-vcombinaciones de teclas "compatibles con Windows" que anulan la combinación de teclas con una asignación de pegado. Es posible (¿probable?) Que sus otros problemas con Windows Vim surjan del mismo problema, aunque no menciona cuáles son todos, por lo que es difícil decirlo con certeza.
Rico
44
OOTB gvim en Windows funciona de la misma manera que en Linux (modulo de valores predeterminados diferentes para algunas opciones). Debe tenerlo configurado de manera diferente.
Antony

Respuestas:

14

Cuando tengo que trabajar en Windows (que es más frecuente de lo que me gustaría), uso Cygwin para obtener un terminal un poco menos malo que la línea de comandos original de Windows. Cygwin proporciona un entorno que intenta estar cerca de una consola Bash con comandos estándar de Linux y, por supuesto, está lejos de ser perfecto.

Vea la página del proyecto de Cygwin. Durante la instalación, finalizará en una ventana que le permitirá elegir qué paquetes desea instalar. La barra de búsqueda permite la búsqueda de paquetes para instalar, entre otras cosas útiles (como git, tmux, curl, wget, etc.) se puede escribir vimy seleccionar paquetes como vim, vim-common, vim-doc, gvim. Esto instalará un editor Vim bastante cercano a lo que estás acostumbrado en Linux.

Una vez que todo esté instalado (que a veces puede ser un poco largo), podrá iniciar Cygwin, que mostrará un terminal, y podrá iniciar Vim como de costumbre y usar su Linux .vimrcy su administrador de complementos habitual. El principal inconveniente es la compatibilidad de los colores, que a menudo necesitan ser modificados y aún se ven mal.

Tenga en cuenta que uso Cygwin por costumbre, pero existen otras soluciones (como cmder, por ejemplo). Ninguno de ellos es perfecto, por lo que es posible que desee probar varios y encontrar su favorito.

También tenga en cuenta que mintty es una buena manera de hacer que Cygwin sea un poco menos malo.

statox
fuente
1
Tiene varios problemas. No muestra caracteres Unicode correctamente. Algunos caracteres de varios bytes están ocultos.
SibiCoder
1
Sí, precisamente por eso especifiqué que "Ninguno de ellos es perfecto": hasta ahora Cygwin (y sus equivalentes) son solo una solución. No soy un experto en Windows, pero tal vez el nuevo trabajo colaborativo entre Canonical y Microsoft conduzca a algunas mejores alternativas.
statox
Estoy usando babun en estos días, aunque creo que el cygwin subyacente no es tan fresco como una instalación de vainilla.
Rolf
Desde Windows 10 y especialmente desde las actualizaciones adicionales que le han agregado (curl, openssh, desbordamiento de texto correcto, soporte de color de 24 bits) que el indicador de DOS directo es mejor ahora. La representación de la fuente en las indicaciones de DOS / powershell suele ser la mejor que he visto para las aplicaciones de terminal de Windows. Además, si instala Git para Windows, eso contiene casi todas las herramientas de línea de comandos de Linux que necesita, agregue C:\Program Files\Git\usr\bino similar a su ruta.
icc97
11

A partir de la Actualización de aniversario de Windows 10, puede usar el terminal Bash en Ubuntu para ejecutar un subsistema de Linux donde puede hacer apt installcualquier cosa a la que esté acostumbrado dentro de Ubuntu. Su sistema de archivos de Windows está montado para que pueda usar Vim dentro del shell para editar sus archivos.

Chad Gilbert
fuente
2
Tenga en cuenta que todavía está accediendo a Vim a través de la consola de Windows, que está muy limitada con colores y resaltado de sintaxis. Incluso con la actualización de los creadores, que se supone que traerá 256 colores a la consola, no he logrado mejorar el resaltado de sintaxis.
icc97
@ icc97 No recuerdo exactamente lo que hice (no entiendo muy bien los colores y terminales) pero pude obtener colores que se ven bien en vim y solucionar el problema con el texto azul sobre negro que apareció en el bash en la salida del terminal ubuntu. Ahora es un poco colorido pero funciona bien. También con Xming, gVim funciona bien en Ubuntu en Windows (acabo de probar la interfaz e intenté guardar archivos, etc.).
Formagella
@Formagella Soy un poco quisquilloso con mis colores. Pasé horas intentando que los colores solarizados funcionaran con un estándar similar de Linux Vim; escribí algo de lo que hice en este número . Sin embargo, GVim tiene un resaltado de sintaxis bastante perfecto (y negrita / cursiva) en Windows, así que dejé de luchar y simplemente lo usé. Dado que está en el indicador de dos, simplemente tener un resaltado de sintaxis correcto es excelente y es muy útil para sesiones SSH, pero para la edición a tiempo completo me di por vencido.
icc97
1
Ahora hay una versión de Mintty disponible para actuar como terminal para Bash en Ubuntu en Windows y una implementación de Solarized diseñada para Mintty. ¡Lo hice justo ahora y fue una experiencia relativamente indolora!
Amndeep7
@Formagella Finalmente, tengo colores que funcionan correctamente en la consola de Windows, tomó una solución en Vim . Pero a partir de Vim 8.1 +, un esquema de color de 24 bits , puede obtener colores encantadores en el indicador de DOS simple y el indicador de WSL. Tengo una respuesta separada que experimenta con los diversos esquemas de colores de la consola de Windows y hace que un par funcione.
icc97
4

Como Roflo y Rich mencionaron en su comentario aquí y aquí , su problema al no poder usar el bloqueo visual (no estoy seguro de qué rxcomando es) se debe a las $VIM\_vimrcfuentes vimrc ( ) de todo el sistema $VIMRUNTIME\mswin.vimque definen las asignaciones de estilo Windows como Ctrl+ vpara pegar, Ctrl+ cpara copiar, Ctrl+ xpara cortar.

La forma más fácil de evitar esto es crear _vimrcarchivos en su directorio de inicio (tenga en cuenta que la versión de Windows de vim usa en _vimrclugar de .vimrc). Como puede ver en :h vimrc, vim busca vimrc en varios lugares y solo usa el primero que encuentra mientras ignora el resto. El que está en el directorio de inicio siempre se busca / usa primero.

Pasos mínimos:

  • abrir gvim o vim
  • :e ~/_vimrc
  • :w
doblar
fuente
0

Una actualización adicional bastante pequeña pero no menos importante le sucedió a Windows 10 para la compilación 1803. Agregaron soporte de 24 bits para la consola (cmd / powershell prompt). En Vim 8.1 ( https://www.vim.org//download.php/#pc ) agregaron soporte para lo termguicolorsque significa que puede obtener el soporte de color completo de 24 bits dentro de la consola de Vim. Recientemente publiqué una respuesta sobre cómo funciona el soporte de color .

Pero lo que significa es que hay bastante compatibilidad total para ejecutar Vim en el indicador de DOS, por lo que no necesita instalar ningún subsistema de Linux ni ninguna otra dependencia más allá de Vim para que Vim funcione correctamente. Aún lo encuentro algo lento, pero es genial ver el progreso.

ingrese la descripción de la imagen aquí

Cosas que funcionan en la consola Vim (en Windows 10 build 1803+):

  • Aerolínea con fuentes Powerline
  • 24 bits colortheme(por ejemplo, vim-solarized8, oferta)
  • Prácticamente cualquier complemento (por ejemplo, cualquier complemento de Tim Pope, FZF y Ripgrep)
  • vimdiff
  • La ventana de la consola se ajusta correctamente con el texto que fluye correctamente; esto se maneja mejor que GVim

Cosas que no funcionan / problemas:

  • Es más lento que GVim.
  • Fuentes en negrita / cursiva
  • Los caracteres UTF-8 son limitados, por ejemplo, algunos de los iconos predeterminados de la aerolínea no se muestran
icc97
fuente