Ativar mouse para rolagem apenas no Vim no iTerm (MacOSX)

30

Gostaria de usar o mouse no Vim apenas para rolagem (para não ativar outros modos do Vim ou interagir com o Vim). Usar :set mouse=aparece ser uma operação de tudo ou nada, isso pode ser alterado? Como alternativa, o iTerm pode ser feito para passar apenas por eventos de rolagem e nunca clicar / arrastar eventos?

Explicação longa: Eu uso muito o Vim no iTerm e não uso o mouse. No entanto, a rolagem de inércia com um trackpad é realmente boa e uma ótima maneira de ler arquivos grandes. Eu posso :set mouse=ae uso o trackpad para rolar e é ótimo. Agora, quando clico, o vim entra no modo visual e o iTerm não copia o texto selecionado. Gostaria de manter a capacidade do iTerms de selecionar e copiar texto.

Pensei em configurar o Vim para que a cópia no vim seja copiada no Mac OS X (usando pbcopy, eu preciso fazer isso de qualquer maneira). Isso funcionará ao editar arquivos locais, mas na maioria das vezes eu estou sshem algum lugar e editando arquivos remotos.

Jonah Braun
fonte

Respostas:

44

Você poderia usar

:set mouse=nicr

Funciona apenas com a rolagem do mouse, como testei.

Armando Neto
fonte
3
Não é exatamente o que eu preciso, pois enquanto ele rolará no vim, o iTerm não permitirá que eu selecione o texto. Eu fiz :set mouse=ipara que a rolagem funcione no modo de inserção e o iTerm selecione no modo normal. Perto o suficiente, então estou marcando a resposta. Obrigado pela ideia!
Jonah Braun
3
Isso parece "definir o mouse para ser melhor" para mim.
Kazark 30/08/12
6
@JonahBraun, o iTerm selecionará o mouse :set mouse=nicrse você mantiver a opção pressionada enquanto faz a seleção. Veja stackoverflow.com/questions/4608161/…
John Whitley
Onde você escreve :set mouse=nicr?
Naguib Ihab
18

Se você set mouse=aainda pode usar o Option -click para fazer a seleção do iTerm. Não é o ideal, mas é a melhor opção que encontrei.

Mike Morearty
fonte
3
Esta é a resposta real e viável.
Zen
1

Não tenho certeza sobre o iTerm, mas isso é possível com o Terminal.app.

  • Rolagem no Terminal.app:

http://ayaz.wordpress.com/2010/10/19/using-mouse-inside-vim-on-terminal-app/ (instale o SIMBL e o MouseTerm)

  • Apenas rolagem:

    1. Vá para o terminal;
    2. Preferência;
    3. Ícone 'Configurações';
    4. Guia "Teclado"
    5. Botão 'Mouse ...';
    6. Lá, em "Enviar eventos do mouse para:" desmarque "Clique esquerdo", "Clique do meio", "Clique direito".

Feito.

LiL
fonte
0

Você também pode definir opções do vim env na linha de comando

Por exemplo:

vim -c 'set mouse=a'

Portanto, um alias alternativo para o vim que o faça automaticamente pode ser:

alias vimmy="vim -c 'set mouse=a'"
Dan Burkhardt
fonte
-1

Ainda melhor que a resposta aceita:

set mouse=a

Isso permite rolar e, em seguida, realçar, fornece um bloco visual.

ibash
fonte
2
Isso permite outras coisas além da rolagem.
Kazark 30/08/12
3
Além disso, isso já é mencionado na pergunta.
Kazark 30/08/12