Como posso definir a largura da janela do gvim para 80 colunas de texto, além daquelas necessárias para mostrar o número da linha

9

Eu uso o gvim com

set number

no meu .vimrc , então mostra o lençol, mais um espaço, antes de cada linha.

Se o documento tiver menos de 10 linhas, isso leva 2 colunas, se tiver mais de 10, 3 colunas e assim por diante.

Se eu colocar

set lines=40 columns=80

em .gvimrc , mostrará 78 colunas de código e 2 para o linenumber + pace, ou 77 + 3 e assim por diante.

Eu gostaria que a largura da janela fosse definida para 80 colunas + qualquer número de colunas necessárias para mostrar o linenumber.

Ele não precisa ser dinâmico, mas eu gostaria de poder ler o número de linhas de um determinado arquivo e definir columns de acordo. (Claro, uma solução dinâmica seria realmente legal, mas não essencial)

    
por Elton Carvalho 31.08.2011 / 11:53

3 respostas

9

Tente isso no seu ~ / .vimrc:

au BufRead * let &numberwidth = float2nr(log10(line("$"))) + 2
          \| let &columns = &numberwidth + 80

Toda vez que você carregar um buffer (ou seja, abrir um arquivo), isso determinará o número de colunas necessárias para mostrar o maior número de linha, defina a opção 'número de largura' e defina 'colunas' como esse número mais 80 para o seu texto.

    
por 31.08.2011 / 18:43
2

eu uso

set lines=24 columns=84

no meu $ HOME / .gvimrc que me dá o que você quer. Eu raramente (se algum dia) tenho arquivos que são mais longos que as 999 linhas, então funciona para mim.

    
por 31.08.2011 / 12:21
2

Eu configurei a largura do número para, digamos, 5 e depois configurei as colunas para 85 (80 + 5) Isso deve ser bom para arquivos de 0 linhas a um milhão de linhas.

Aqui está o que você pode ter que colocar (padrão) ~ / arquivo .vimrc

set numberwidth=5  "Good for files upto a million lines
set columns=85
set nu

Você verá que o número da linha é formatado com '% 5d' (5 é a largura do número acima) em vez do formato padrão '% d', perdendo um pouco de imóveis antes dos números de linha, mas mantendo a consistência.

    
por 03.06.2016 / 20:14

Tags