Como usuário do Linux, tenho me sentido bastante à vontade com as ferramentas CLI e TUI, mas sinto falta da pequena barra de rolagem presente em quase todos os programas da GUI. Sempre foi mais fácil saber quanto tempo o arquivo tem e onde estou na barra de rolagem, em vez de "9752 linhas, 24%".
O que eu espero é uma barra de rolagem ASCII que se parece
| | | | # # # | | |
e posso configurar para aparecer à esquerda ou à direita (e, se à esquerda, a posição relativa dos números das linhas e das marcas de dobra). Já existe um plugin do Vim para fazer isso, ou como posso escrever o meu? A estrutura de plug-ins do Vim parece não suportar diretamente essas modificações de interface do usuário.
É possível usar a linha de status como uma barra de rolagem. Eu costumava ter o seguinte no meu .vimrc, que emula uma barra de rolagem (também é apenas horizontal, mas funciona surpreendentemente bem). Isso foi discutido originalmente na lista de discussão vim_use alguns anos atrás.
Verifique se você tem a
laststatus
opção definida como 2.fonte
Minha tentativa de redenção de minhas faltas anteriores ....
Gostei da ideia, então hoje eu escrevi um plugin para o VIM para mostrar um 'polegar' da barra de rolagem usando o recurso de sinais do vim.
Ainda é MUITO beta, mas é utilizável no momento, ainda tenho trabalho a fazer, inclusive digitando todos os documentos, comentários e outras coisas.
Vou postar a fonte aqui, mas você pode retirá-la do meu Hg Repo . (Não ria muito sobre as outras coisas)
Lembre-se ... MUITO beta, considerando que eu nunca escrevi um plug-in antes, apenas mexendo no VimL ao longo dos anos. (menos de 12 horas do conceito ao protótipo funcional! yay!)
Vou continuar trabalhando nisso, meio arrumado. As cores são berrantes por um motivo, fácil de ver o que muda. Ele tem um grande erro no momento, você não pode fazer com que todos os sinais desapareçam desativando-o. Eu sei como implementar isso, só queria compartilhar.
As imagens são úteis:
Barra de rolagem do VIM Curses - v0.1 - L Nix - [email protected] Hg Repo
fonte
guioptions
e, como a ajuda afirma claramente, isso funciona apenas para a versão gui do vim.Não é uma solução ideal, mas você pode descobrir em que parte do arquivo está na linha de status com algo como
ou usando
set number
para ter um número de linha antes de cada linha.A menos que você modifique a fonte do vim (ncurses), não acho que isso seja possível, mas posso estar errado.
fonte
Aqui está uma versão que pode ser arrastada com o mouse. Também é atualizado somente quando a roda de rolagem está sendo usada - se precisar de uma barra de rolagem, sua mão deve estar com o mouse de qualquer maneira.
fonte
:call UpdateScrollbox()
funciona, mas não é fácil de usar. Pode precisar de ganchos em todas as teclas de movimento ou, melhor ainda, de um gancho em um evento de rolagem, se possível.