Rolando dentro do Vim no terminal do Mac


89

Tenho procurado no Google tentando descobrir se é possível usar a roda do meu mouse para rolar enquanto estiver dentro do Vim no Terminal do Mac, sem sorte. Parece que apenas o X11 ou o iTerm suportam isso.

Antes de desistir, pensei em tentar os gênios aqui para ver se alguém sabe uma maneira de fazer isso. Então, alguém sabe se eu posso configurar isso?

Ou devo considerar seriamente o uso de um aplicativo de terminal diferente?


Isso é algo que você pode fazer em outras plataformas ou editores de terminal? Se houvesse uma implementação de VI baseada em X, acho que poderia suportar isso, mas você não preferiria ter suporte para o mouse de rolagem para controlar o buffer de rolagem?
benc

No terminal do Ubuntu você pode rolar, é por isso que eu estava perguntando, eu queria ver se eu poderia ter a mesma funcionalidade no meu Mac.
hora

1
@hora - você pode, apenas use iterm. Você também obtém 256 cores, copiar e colar sensato etc.
robince

Respostas:


68

http://bitheap.org/mouseterm/

Use o MouseTerm (e certifique-se de instalar o SIMBL primeiro!) E a rolagem funcionará perfeitamente, mesmo remotamente, usando o Mac Terminal.

Você precisa sair totalmente do aplicativo Terminal (Command + Q) e iniciá-lo novamente após instalar o MouseTerm.


2
Uau, isso é exatamente o que eu estava procurando. Enquanto isso, eu não usei o mouse, mas ainda é útil.
hora

8
Para nozes vim, adicionar um set mouse=aem seu .vimrc funciona perfeitamente com MouseTerm
Panagiotis Moustafellos

5
Se você está procurando o SIMBL e está tentando fazê-lo funcionar no Lion, experimente EasySIMBL: github.com/norio-nomura/EasySIMBL/downloads
Zachary Murray

2
pode confirmar que EasySIMBL + MouseTerm também funciona no Mavericks
jcr

2
Os últimos lançamentos do EasySIMBL estão aqui (atualmente 1.6): github.com/norio-nomura/EasySIMBL/releases
Nathaniel Heinrichs

99

E se você estiver usando o iTerm, adicione-o ao seu vimrc

:set mouse=a

6
Também funciona para o aplicativo de terminal OSX padrão.
Ian

22

Esta é uma pergunta antiga, mas um dos principais sucessos do Google, então me sinto obrigado a fornecer uma resposta atualizada.

A execução do OSX El Capitan 10.11, o mouse vim e a rolagem do trackpad funcionaram (TM) para mim no Terminal.app por padrão. No entanto, ocasionalmente, a entrada do mouse / trackpad parava de manipular o buffer vim e começava a rolar o buffer do terminal. A resposta foi Command+Rou Exibir menu -> Permitir relatório de mouse. Ativar isso permitiu que as operações de rolagem do mouse / trackpad movessem o cursor no vim.


Ei, percebi que havia tentado erroneamente pressionar Command + R uma vez em vez de Control + R para obter comandos recentes! Provavelmente foi isso que me pegou. Obrigado!
Teddy

6
  • Menu Termanal> Exibir> Permitir Relatório de Mouse
  • Menu Terminal> Preferências> Teclado> Rolar tela alternativa

4

Você pode ler este artigo , mas tenho quase certeza de que, como o terminal padrão no Mac OS X tem uma barra de rolagem embutida, os comandos da roda do mouse vão automaticamente para ele. Você definitivamente pode usar o gVim conforme sugerido na resposta anterior. Eu acho que geralmente não quero usar o mouse no Vim, pois ele tira minhas mãos do teclado.

Eu só uso 50jpara descer e 50ksubir. Não exatamente rolando, mas funciona muito bem.


Obrigado, isso não é exatamente rolagem, mas acho que é melhor já que minhas mãos estão sempre no teclado.
hora

@hora - Sim, rolar com certeza seria bom, mas, infelizmente, não acho que seja possível.
Topher Fangio

13
Ou use CTRL + fe CTRL + b para avançar e voltar uma tela por vez. Ou CTRL + d e CTRL + u para mover para cima e para baixo em meia tela.
Dan Dyer de

Não é apenas rolar - você também tem a capacidade de marcar seleções visuais com o mouse, mover os limites da janela, etc. Basicamente, torna um programa gráfico redundante e é ótimo para quando você está trabalhando em uma máquina remota.
robince

@thrope - É verdade, eu uso isso com bastante frequência, na verdade. vpara o modo visual e selecione o texto que desejo. No entanto, geralmente quero uma linha inteira ou um conjunto de linhas, então, para evitar problemas de colagem de nova linha, geralmente apenas conto as linhas e clico ddpara excluí-las. Um pouco mais lento às vezes, mas é a que me acostumei.
Topher Fangio


2

Certifique-se de que o terminal esteja xterme não ansiconectado Terminal Menu > Preferences > Profiles > Advanced. Eu acidentalmente quebrei a rolagem mudando o termo tipo em um esforço ingênuo para fazer a coloração funcionar em vez de ssh.


1

Use o gVim, que oferece um ambiente de edição de texto em uma janela que você pode rolar. O terminal não está envolvido ao usar o gVim.


2
Não é realmente relevante - ele pode estar acessando o vim em outra máquina (por meio de ssh) - Em qualquer caso, em um mac, macvim é a versão gráfica preferida code.google.com/p/macvim
robince

1

Estou usando o xterm no X11 (XQuartz 2.3.4) e o vim funciona muito bem com mouse e também suporta 256 cores.

Aqui estão os recursos ~ / .X que uso para tornar meu xterm mais agradável no X11:

XTerm*faceName: Lucida Sans Typewriter Regular
XTerm*faceSize: 9
XTerm*utf8: 1

xterm*saveLines: 1000
xterm*jumpScroll: true
!xterm*awaitInput: true
!xterm*multiScroll: true

XTerm*scrollBar: false
xterm*scrollbar*thickness: 16
xterm*rightScrollBar: true

XTerm*foreground: white
XTerm*background: grey10
!XTerm*background: black
XTerm*cursorColor: yellow

xterm*visualBell: false

xterm*loginShell: true

Pequenas dicas, para remover o som da campainha no xterm do X11, digite este comando:

xset b 0

Eu tentei o xterm, não sou um grande fã, embora eu não saiba por que, há algo nele que me desanima. Talvez eu tente outra vez.
hora

A única coisa que muda é para copiar e colar. A colagem é feita com o botão do meio do mouse (ou alt + clique) e a cópia é feita apenas selecionando algum texto. É claro que no vim você terá que desabilitar o mouse para poder copiar algo fora do X11 ou colar algo fora do X11 ou vim enquanto sobrescreve o comportamento do mouse do X11.
XPac27

1

Eu recomendaria usar o iTerm - ele tem tantas vantagens sobre o Terminal, por exemplo, suporte ao mouse, 256 cores, cópia e colagem sensata (cópia automática, seleção de palavra / url com clique duplo, clique do meio e colar) ...


Existem esquemas de cores integrados no iTerm? Como mudo as cores, não consigo descobrir ... A caixa de diálogo 'mostrar informações da sessão' não parece me permitir salvar perfis diferentes.
hora

Sim, a configuração é um pouco engraçada ... Vá para Favoritos -> Gerenciar Perfis -> Perfis de Vídeo e você pode configurar cores. Então você vai para Marcadores -> Gerenciar Marcadores e configuração padrão ou qualquer um que você deseja usar o perfil de exibição que você deseja.
robince

Não consigo nem usar Option + Left Arrow para voltar uma palavra de cada vez no iTerm. Você está brincando comigo agora?
IIllIIll

-1

Ao usar o iTerm, crie um arquivo .vimrc (se ainda não estiver lá) em sua pasta inicial e adicione a linha:

:set mouse=a

Rolar para baixo no vim para ver um arquivo funciona depois disso.


Esta resposta é uma duplicata direta de uma postada mais de um ano antes.
moopet de
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.