Como faço para que o gvim comece maximizado no Windows?

15

Gostaria que meus editores me dessem o máximo possível de espaço na tela, pois isso aumenta minha capacidade de ver a maior parte do código de uma só vez.

O problema é que gvimparece me fornecer uma janela de 80x25 ou lembrar o último tamanho não maximizado, dependendo de como eu o invoco.

Então, como forçá-lo a ser o maior possível, independentemente de qualquer estado lembrado?

200_success
fonte
I vai de fato recomendo o plugin github.com/xolox/vim-shell , que trabalha para gvim em Win32 e win64 ambos, com <F11> Alternar entre tela cheia / modo normal
van abel

Respostas:

21

Você pode colocar esta linha:

autocmd GUIEnter * simalt ~x

no final do seu gvimrcarquivo.

Este método usa o autocmdrecurso para tecer sua mágica. O comando autocmd GUIEnter *especifica um comando a ser executado após iniciar com êxito a GUI para um padrão de *arquivo (qualquer arquivo).

O comando que ele executará simalt ~x(apenas nas variantes do Windows vim) simulará o pressionamento de tecla Alt Spacebarx, que são os pressionamentos de tecla que maximizarão a janela.

Você também pode usar a versão reduzida:

au GUIEnter * sim ~x

mas prefiro comandos totalmente expandidos, especialmente porque é o tipo de coisa que você define e esquece, inserindo apenas uma vez ao instalar vimem um sistema Windows.


Lembre-se de que isso está simulando pressionamentos de teclas para atingir seus fins. Nas versões em inglês, funcionará bem, pois Alt-SpaceXé como você maximiza uma janela.

Se isso não funcionar para você, você deve investigar as teclas digitadas em qualquer localidade que esteja usando. Por exemplo, a versão em francês usará Agrandir(ampliar) com o npressionamento de tecla de controle; portanto, o comando que você precisa é o seguinte:

autocmd GUIEnter * simalt ~n

(o que realmente minimizaria sua janela em inglês).

Se você é outra variante (não inglesa, não francesa), basta pressionar Alt-Spaceuma janela para abrir o menu do sistema e descobrir qual tecla deve ser usada (deve ser sublinhada).


Para encontrar seu gvimrcarquivo para adicionar qualquer comando necessário, você pode inserir:

:version
:echo $VIM
:echo $HOME

e você deve obter uma lista de arquivos de inicialização e variáveis ​​como:

system gvimrc file = "$VIM/gvimrc"
  user gvimrc file = "$HOME/_gvimrc"

C:\Program Files (x86)\Vim
C:\Users\Pax\Documents

fonte
Sua versão reduzida do autocmd está ausente no *.
21415 jamessan
Este método não funciona para mim: em vez de maximizar a janela, ele abre um menu pop-up que permite restaurar, mover, minimizar, maximizar (...) a janela. Estou usando o Windows 7 SP1 e o gvim 7.4.711. Como posso fazer isso funcionar?
statox
@statox, é o que você veria se deixasse xo final. Verifique se você tem o texto completoau GUIEnter * sim ~x .
@paxdiablo Não sei ao certo se copiei a linha completa (versão longa e curta) de aupara ~x. Há um caractere de espaço em branco que está faltando ou algo assim?
statox
@statox, quando você abre uma janela gvim e clica com o mouse no botão do sistema (o ícone vim mais à esquerda, acima do menu do arquivo), você vê uma maximização? Quando esse menu do sistema é aberto, ele maximiza quando você pressiona x?
7

Em alternativa à janela maximizada, por que não ganhar mais espaço para uma experiência completa de edição de várias janelas do vim com o modo de tela cheia de inicialização automática? ;-)

Captura de tela em tela cheia do resultado final (= TODA A capacidade de pixels do vídeo): captura de tela de vídeo em tela cheia

Na minha opinião, é melhor do que maximizar o Windows: uma tela cheia completa (como costumava fazer com o puTTY com o ALT-Enter ao editar no terminal unix remoto ...)

Eu explico como:

Passo 1

Instale o excelente utilitário bonito para permitir o uso em tela cheia no gvim no Windows:

https://github.com/derekmcloughlin/gvimfullscreen_win32/tree/master

Você precisa baixar o arquivo DLL gvimfullscreen.dll e colocá-lo no mesmo diretório em que o gvim.exe está ($ VIM / vim74 com a versão 7.4 do gVim). Para baixar a DLL (sem usar o git):

https://github.com/derekmcloughlin/gvimfullscreen_win32/raw/master/gvimfullscreen.dll

Passo 2

Edite o arquivo .vimrc (dentro do vim :) :e $HOME/.vimrc, inserindo esses comandos para iniciar automaticamente a tela cheia e permitindo que uma tecla de função F11 alterne os modos entre três estados: tela cheia, janela maximizada, tamanho original / padrão das janelas:

"run the command immediately when starting vim
autocmd VimEnter * call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)

" activate/deactivate full screen with function key <F11>  
map <F11> <Esc>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>

etapa 3

Edite o arquivo .gvimrc (dentro do vim :):split $HOME/.gvimrc inserindo estes comandos para evitar a barra de menus e coisas inúteis:

set guioptions-=m  "remove menu bar
set guioptions-=T  "remove toolbar
set guioptions-=r  "remove right-hand scroll bar
set guioptions-=L  "remove left-hand scroll bar
Giorgio Robino
fonte
Existe uma tela gvimwin64fullscreen? ou podemos compilá-lo usando o projeto no github?
van abel
2

De :help 'lines':

Número de linhas da janela do Vim.
[...]
Quando o Vim está sendo executado na GUI ou em uma janela redimensionável, definir esta opção fará com que o tamanho da janela seja alterado.
[..]
Você pode usar este comando para obter a janela mais alta possível:
:set lines=999

A columnsopção faz o mesmo, exceto pela largura (em caracteres).

Então você pode, por exemplo, colocar isso no seu arquivo vimrc:

set lines=55
set columns=120

Isso não é o mesmo que ser maximizado (mesmo se você usar o 999valor descrito acima), já que "ser maximizado" é um sinalizador especial colocado na janela e altera sutilmente algumas operações (como mover), mas deve resolver seu problema de ter um tamanho de janela pequeno de 80 x 25 por padrão.

Martin Tournoij
fonte
Isso não é tão ruim, apesar de dar uma 234x56janela no meu sistema, enquanto maximizar dá 236x57. Ainda assim, ser curta duas colunas e uma linha com esse tamanho não é um problema muito grande, especialmente para algo que também pode funcionar em plataformas não Windows, embora eu ainda não o tenha testado. Eu vou ter um olhar esta noite quando eu chegar em casa para minha caixa de Debian amado :-)
No meu Debian, a janela padrão é 200x50, configurando linhas e colunas para 999 em qualquer um dos vimarquivos rc ou with, gvim -c 'set them'me dá 236x61 e maximização, 237x61, tão mais perto que no Windows. Curiosamente, gvim -geometry 999x999me fornece uma janela maximizada no tamanho um pouco maior para que possa ser melhor para não-Windows, embora eu suspeite que seja mais difícil garantir que todos os métodos de chamada usem isso. Pena que não existe uma coisa do tipo simalt para plataformas não-Win.
Ainda assim, vale a pena algum representante, pois chega perto o suficiente e é mais portátil que o método somente para vitórias. A propósito, usar 9999x9999 como geometria é assustador, vimpois não gosta de janelas com dimensões acima de 64K pixels (neste caso, geometria são células de caracteres e não pixels). 999x999 parece funcionar bem. Não tenho certeza de como isso seria em sistemas com vários monitores.
Sim, esse método não é perfeito, mas, como você mencionou, é multiplataforma e também pode ser mais rápido (a execução de ferramentas de linha de comando na inicialização pode causar um certo atraso no Windows Vim, pelo menos, foi o caso quando o usei há alguns anos).
Martin Tournoij 23/02
Definir as colunas / linhas para 160 x 42dá uma forma de janela aproximando-se da proporção áurea e você obtém a grandiosidade de 42!
roblogic
0

Além dos comandos específicos do gVim nas outras respostas, existem alguns recursos padrão do Windows para iniciar qualquer aplicativo maximizado.

Se você estiver visualizando o gVim em um atalho, como no menu Iniciar ou na área de trabalho, poderá alterar as propriedades do atalho para iniciar o Vim maximizado. Clique com o botão direito do mouse no atalho, escolha Propriedades e selecione Maximizado na lista suspensa Executar. No entanto, isso afetará apenas esse atalho, portanto o gVim continuará aberto em uma pequena janela se for iniciado a partir de outro atalho, na caixa de diálogo Executar ou na linha de comando.

Se você está começando gVim a partir da linha de comando ou um arquivo de lote, você pode usar o CMD startcomando: start "" /max "C:\Program Files (x86)\Vim\vim73\gvim.exe". ( ""É necessário se o caminho para o gvim.exe estiver entre aspas. Se você usar um caminho sem aspas sem espaços, poderá omiti-lo:. start /max C:\Progra~2\Vim\vim73\gvim.exe)

Lithis
fonte
Eu não como o que o padrão startde comando é, mas eu substituiu o meu caminho e agora mingsys de startestá lá, por isso tome cuidado que você está executando o caminho certo
TankorSmash
Eu tentei isso ("em um atalho ... selecione Maximizado"). A janela piscou e, em seguida, apareceu do mesmo tamanho que havia acabado de iniciar a partir de um shell cmd do DOS. Para ser justo, eu tenho comandos no meu .vimrc que explicitamente definem um tamanho (linhas / colunas), então eu suspeito que o último esteja substituindo a tentativa de maximizar.
31518 rich rich p
Esse tipo de coisa também existe em função de alguns gerenciadores de janelas Linux. Por exemplo, eu gosto que minhas janelas do Vim tenham altura total, mas dois dos meus monitores têm 1024px de altura, enquanto o centro tem 1080px de altura. Definir o Vim para começar verticalmente maximizado usando o painel de controle "Regras da Janela" do KDE garante que o gVim seja redimensionado para corresponder à medida que for passando de monitor para monitor. (Ele também tem o benefício adicional de substituir a linesconfiguração, então eu posso deixar isso na minha gvimrccomo uma alternativa para sistemas onde eu não configurar tal emenda.)
ssokolow