Como faço para que o gVim no Windows se comporte como no Linux?

13

Eu sou um usuário frequente do editor Vim no Linux e agora quero usá-lo no Windows.

Eu baixei o Vim para Windows, que é o gVim. Vários recursos do Vim não funcionam no gVim 7.4, como bloco visual, rxcomando e várias outras combinações de teclas.

Quero que o mesmo / original Vim do Linux seja usado no Windows. Essa versão também está disponível para Windows? Ou posso usar configurações semelhantes ao formato Unix?

SibiCoder
fonte
2
Experimente o Vim de tuxproject.de/projects/vim/x64
Muru
6
Além disso, verifique se _vimrchá uma linha no seu arquivo dizendo algo como source $VIMRUNTIME/mswin.vim. Esse arquivo permite que muitas coisas de configuração sejam compatíveis com o MSWindows (incluindo muitos mapeamentos).
Roflo
7
Eu uso o gvim diariamente no Windows, tanto a GUI do gvim quanto o vim não gráfico através do console do cmder. Eu também fiquei frustrado até desligar o arquivo de configuração mswin.vim e fazer alguns outros ajustes. Eu simplesmente excluí o arquivo _vimrc que foi instalado com o programa e copiei o arquivo .vimrc do Linux para o Windows e depois parti de lá.
21716 Dan Jones
6
Outros comentaristas fizeram alusão a isso, mas ninguém realmente disse isso: o bloco visual funciona bem no Windows Vim. Você só precisa desativar as ctrl-vcombinações de teclas "amigáveis ​​ao Windows" que substituem a combinação de teclas com um mapeamento de colagem. É possível (provável?) Que seus outros problemas com o Windows Vim se originem do mesmo problema, embora você não mencione o que são todos, é difícil dizer com certeza.
Rich
4
OOTB gvim no Windows funciona da mesma maneira que no Linux (módulo diferentes padrões para algumas opções). Você deve configurá-lo de maneira diferente.
Antony

Respostas:

14

Quando tenho que trabalhar no Windows (que é mais frequente do que gostaria), uso o Cygwin para obter um terminal um pouco menos ruim que a linha de comando original do Windows. O Cygwin fornece um ambiente que tenta se aproximar de um console Bash com comandos padrão do Linux e, é claro, está longe de ser perfeito.

Veja a página do projeto da Cygwin. Durante a instalação, você terminará em uma janela, permitindo escolher os pacotes que deseja instalar. A barra de pesquisa permite procurar por pacotes para instalar, entre outras coisas úteis (como git, tmux, curl, wget, etc.) você pode digitar vime selecione pacotes como vim, vim-common, vim-doc, gvim. Isso instalará um editor Vim bem perto do que você está acostumado no Linux.

Quando tudo estiver instalado (o que às vezes pode ser um pouco longo), você poderá iniciar o Cygwin, que exibirá um terminal, e poderá iniciar o Vim como de costume e usar o Linux .vimrce o gerenciador de plugins habitual. A principal desvantagem é a compatibilidade de cores, que geralmente precisam ser aprimoradas e ainda parecem ruins.

Note que eu uso o Cygwin por hábito, mas existem outras soluções (como o cmder, por exemplo). Nenhum deles é perfeito, então você pode tentar vários e encontrar o seu favorito.

Observe também que o mintty é uma boa maneira de tornar o Cygwin um pouco menos ruim.

statox
fonte
1
Tem vários problemas. Não mostra caracteres unicode corretamente. Alguns caracteres de vários bytes estão ocultos.
SibiCoder 22/16/16
1
Sim, é precisamente por isso que especifiquei que "Nenhum deles é perfeito": até agora, Cygwin (e equivalentes) são apenas uma solução alternativa. Não sou especialista em Windows, mas talvez o novo trabalho colaborativo entre a Canonical e a Microsoft leve a algumas alternativas melhores.
Statox
Atualmente, estou usando o babun, embora eu ache que o cygwin subjacente não é tão novo quanto uma instalação de baunilha.
Rolf
Desde o Windows 10 e especialmente desde as atualizações extras que eles adicionaram a ele (ondulação, openssh, excesso de texto correto, suporte a cores de 24 bits), o prompt direto do DOS é melhor agora. A renderização da fonte nos prompts do DOS / powershell geralmente é a melhor que eu já vi nos aplicativos de terminal do Windows. Além disso, se você instalar o Git for Windows, ele conterá quase todas as ferramentas de linha de comando do linux necessárias, adicionadas C:\Program Files\Git\usr\binou similares ao seu caminho.
Icc97 12/1218
11

A partir da Atualização de Aniversário do Windows 10, você pode usar o terminal Bash no Ubuntu para executar um subsistema Linux, onde você pode apt installusar qualquer coisa com a qual esteja acostumado dentro do Ubuntu. Seu sistema de arquivos do Windows está montado para que você possa usar o Vim dentro do shell para editar seus arquivos.

Chad Gilbert
fonte
2
Lembre-se de que você ainda está acessando o Vim por meio do console do Windows, que é muito limitado com destaque de cores e sintaxe. Mesmo com a atualização dos criadores, que deveria trazer 256 cores para o console, não consegui melhorar o destaque da sintaxe.
icc97
@ icc97 Não me lembro exatamente o que fiz (não entendo muito bem as cores e os terminais), mas consegui obter cores que aparentam bem no vim e corrigir o problema com o texto azul sobre preto que apareceu em o bash na saída do terminal ubuntu. Agora está um pouco colorido, mas funciona bem. Também com o Xming gVim funciona bem no Ubuntu no Windows (eu apenas testei a interface e tentei salvar arquivos etc.).
Formagella
@ Formagella Sou um pouco mais exigente com minhas cores. Passei horas tentando fazer com que as cores solarizadas funcionassem com um padrão semelhante do Linux Vim - escrevi algumas das coisas que fiz nesta edição . O GVim, no entanto, possui realce de sintaxe perfeito (e negrito / itálico) no Windows, então parei de lutar e apenas o usei. Dado que você está no prompt dos, apenas destacar a sintaxe OK é ótimo e é muito útil para sessões SSH, mas para a edição em tempo integral eu desisti.
precisa saber é o seguinte
1
Agora há uma versão do Mintty disponível para atuar como o terminal do Bash no Ubuntu no Windows e uma implementação do Solarized projetada para o Mintty. Eu fiz isso agora e foi uma experiência relativamente indolor!
Amndeep7
@ Formagella Eu finalmente tenho as cores funcionando corretamente no console do Windows, foi preciso uma correção no Vim . Mas, a partir do Vim 8.1 +, um esquema de cores de 24 bits, você pode obter cores lindas no prompt simples do DOS e no WSL. Eu tenho uma resposta separada que experimenta os vários esquemas de cores do console do Windows e faz algumas coisas funcionarem.
Icc97 12/1218
4

Como Roflo e Rich mencionaram em seus comentários aqui e aqui , seu problema em não poder usar o bloco visual (não sei qual rxé o comando) é porque as $VIM\_vimrcfontes vimrc ( ) em todo o sistema $VIMRUNTIME\mswin.vimdefinem os mapeamentos no estilo do Windows como Ctrl+ vpara colar, Ctrl+ cpara copiar, Ctrl+ xpara cortar.

A maneira mais fácil de contornar isso é criar um _vimrcarquivo em seu diretório pessoal (observe que a versão Windows do vim usa em _vimrcvez de .vimrc). Como você pode ver :h vimrc, o vim procura o vimrc em vários locais e usa apenas o primeiro encontrado enquanto ignora o resto. Aquele no diretório inicial é sempre pesquisado / usado primeiro.

Etapas mínimas:

  • gvim ou vim aberto
  • :e ~/_vimrc
  • :w
apostar
fonte
0

Outra atualização bastante pequena, mas não menos importante, aconteceu no Windows 10 para a versão 1803. Eles adicionaram suporte de 24 bits ao console (prompt do cmd / powershell). Em Vim 8,1 ( https://www.vim.org//download.php/#pc ) que adicionou suporte para termguicolorsque significa que você pode obter o apoio de cor de 24 bits completo dentro do console Vim. Recentemente, publiquei uma resposta para obter o suporte de cores funcionando .

Mas o que isso significa é que existe praticamente um suporte completo para a execução do Vim no prompt do DOS - portanto, você não precisa instalar nenhum subsistema Linux ou qualquer outra dependência além do próprio Vim para obter o funcionamento puro do Vim. Acho que ainda é um pouco lento, mas é ótimo ver o progresso.

insira a descrição da imagem aqui

Coisas que funcionam no console do Vim (no Windows 10 build 1803+):

  • Companhia aérea com fontes Powerline
  • 24 bits colortheme(por exemplo, vim-solarized8, tender)
  • Praticamente qualquer plugin (por exemplo, qualquer plugin do Tim Pope, FZF e Ripgrep)
  • vimdiff
  • A janela do console se encaixa corretamente com o texto fluindo corretamente - isso é melhor tratado do que o GVim

Coisas que não funcionam / problemas:

  • É mais lento que o GVim
  • Fontes em negrito / itálico
  • Os caracteres UTF-8 são limitados - por exemplo, alguns dos ícones padrão da companhia aérea não são exibidos
icc97
fonte