Mac OS X Terminal: suporte a mouse?

75

Existe uma opção nativa (ou seja, sem instalar soft / package / plugins extras) para ativar o suporte ao mouse no aplicativo Terminal?

Na verdade, estou usando muito vimcom a opção set mouse=a(ativar os recursos do mouse).

Mas parece que o Terminal não suporta todos os recursos do xterm.

Parece (depois de pesquisar um pouco) que o Terminal já teve o suporte do mouse, mas eu me pergunto para onde foi.

NB: Eu realmente quero suporte a mouse no Terminal, não apenas para o vim, então, por favor, não sugira o MacVim:]

avetis.kazarian
fonte
O que o xterm suporta que o Terminal não suporta? Copiar no realce e colar no meio?
Ignacio Vazquez-Abrams
O relatório do mouse. É o verdadeiro suporte do mouse. A cópia em destaque, pasta do meio, etc. não estão realmente relacionadas ao Terminal, tanto quanto eu sei.
2
copy-on-destaque e meio-paste comeu Terminal afins - em que o Terminal não fazê-las - você poderia tentar iTerm para aqueles
user151019
@ Mark: Eu verifiquei e gostei. Embora o Terminal lida com caracteres em negrito muito melhores. De qualquer forma, obrigado.
2
@Arjan: alguns aplicativos CLI interativos suportam o mouse; por exemplo, posicionando o cursor de texto em vim.
ELLIOTTCABLE

Respostas:

104

Eu encontrei a resposta!

Um amigo me contou o truque, é tão fácil que eu tenho vergonha.

Basta pressionar a tecla alt e clicar! (com suporte a mouse ativado anteriormente no vim)


ATUALIZAÇÃO para OSX 10.11 El Capita

Por favor, veja a resposta de Chris Page .

avetis.kazarian
fonte
11
Sou usuário avançado do OS X há meio século e nunca soube disso. Estou extremamente impressionado. Eu gostaria de poder lhe dar cem votos em vez de um.
ELLIOTTCABLE
4
Enfim, para desativar o requisito de uso alt?
9788 philipreo
8
Não é o mesmo, para mim de qualquer maneira. Freqüentemente clico em um personagem e o cursor acaba em outro lugar, meio perto dele. Também não funciona para alternar abas no vim. Também parece não funcionar tão bem para alternar janelas no tmux.
andyortlieb
1
@andyortlieb: foi por isso que mudei para o iTerm2.
Avetis.kazarian
2
não é trabalhoso para mim.
Mike Graf
23

A partir do OS X 10.11 El Capitan, o Terminal suporta Mouse Reporting.

Observe que os programas que oferecem suporte ao Mouse Reporting devem habilitá-lo por meio de seqüências de escape e que a maioria dos programas que oferecem suporte ao Mouse Reporting deve ser configurada para habilitá-lo. Por exemplo, no Vim você deve executar set mouse=a(geralmente em seu ~/.vimrcarquivo).

O Terminal suporta o relatório de três botões do mouse e uma roda de rolagem. Para simular uma pressão de três botões com um dispositivo de dois botões, você pode usar o Comando-Clique com o Botão Direito. (Clique com o botão direito do mouse também executa Editar> Colar seleção quando o Relatório do mouse está desativado; portanto, o botão do meio do mouse colará o texto selecionado mais recentemente, esteja você usando o Relatório do mouse ou não.)

Quando o Relatório de mouse está ativado, a Option ⌥tecla modificadora é mapeada para Meta para clicar e rolar e não é afetada pela preferência de teclado "Usar opção como meta-chave", que se aplica apenas à entrada do teclado.

Para ignorar temporariamente o Mouse Reporting e interagir com a visualização do terminal, pressione a Fntecla modificadora enquanto clica ou rola. Há também um item de menu Exibir> Permitir relatório do mouse (⌘R) que você pode usar para ignorar o Relatório do mouse por períodos mais longos ou se a tecla modificadora não estiver disponível.

Observe que, quando ativado, o Mouse Reporting substitui o comportamento existente do Option-Click do Terminal (que envia a entrada de teclas de seta para mover o cursor) e o comportamento "Scroll alternate screen". Além disso, o novo item de menu Allow Mouse Reporting e o Fnmodificador também se aplicam a "Scroll alternate screen" para permitir que você ignore temporariamente esse comportamento.

Chris Page
fonte
"Permitir relatórios de mouse" é a resposta para mim. O iTerm2 tinha esse recurso, mas eu só quero usar o aplicativo Terminal embutido por ser leve.
Kay
@Kay: Fico feliz que você tenha gostado, mas, para ficar claro, o item de menu “Allow Mouse Reporting” (Permitir relatórios de mouse) não ativa os relatórios de mouse. É apenas um comando para permitir que você interaja temporariamente com a exibição do terminal em vez de enviar a entrada do mouse para o programa remoto quando o Relatório de Mouse estiver ativado. Os programas ativam o Mouse Reporting enviando sequências de controle para o terminal.
Chris Page
12

Como alternativa ao uso do Alt-click para definir o cursor no vi com o OS X Terminal, gostaria de sugerir o uso do iTerm 2:

Eu queria suporte para mouse no Terminal vi (Mac OS X 10.7 Lion), mas não há suporte para rolagem com a roda de rolagem. Acabei mudando do Terminal para o iTerm 2, que suporta a rolagem da roda de rolagem vi, e você não precisa pressionar alt para definir o cursor.

Se você não usar alguns dos recursos mais avançados do aplicativo Lion's Terminal , poderá ficar bastante satisfeito com o iTerm 2.

Editar : para ativar o suporte ao mouse no Vim ao usar o iTerm 2, adicione a seguinte linha ao seu .vimrc:

:set mouse=a
Steve HHH
fonte
Como você pode rolar para baixo usando a roda do mouse? Ele apenas sobe no buffer de tela, e você pode obtê-lo no Terminal.app desativando o uso do buffer de tela alternativo, por exemplo, no vim usando set t_ti= t_te=no seu ~/.vimrc.
Daniel Beck
Eu precisava configurar :set mouse=ano meu .vimrc - essa é a maneira normal de ativar o suporte ao mouse no Vim, mas parece que a entrada do mouse é consumida pelo Terminal.app. Rolar para cima e para baixo em um arquivo de texto com a roda de rolagem parece funcionar perfeitamente no iTerm2.app, no entanto.
Steve HHH
No MacOS Mojave (10.14), não tenho problemas em usar o mouse no vim usando o OSX Terminal.
gagarine
1

Parece que no OS X 10.4 (não tenho certeza sobre o 10.5) você pode ativar o suporte ao mouse. Abra o terminal e clique em Configurações da janela. Clique em Emulação na lista suspensa e marque a opção "Clique para posicionar o Cursor".

Joe D
fonte
1
Na verdade, não há nada como "Configurações da janela" nas preferências do Terminal 10.5 nem 10.6. Tudo o que você pode na guia "Janela" é alterar a cor de fundo, tamanho da rolagem, título e tamanho da janela.
1
Deve ser apenas em 10,4 então ...
1
Este não é exatamente o suporte do mouse. O que isso fará é permitir que você clique em uma parte do terminal e o Terminal.app calcule quantos caracteres de linha / abaixo / esquerda / direita são necessários para mover o cursor até lá e digite-os. Muito útil, mas não o que o OP queria, não acho.
21420 Josh
1

Observe que o Mac OS X possui o xterm além do Terminal.app. Não sabia da sua pergunta se você estava ciente disso. Mas se você tiver o pacote X11 instalado, poderá abrir uma janela xterm e o suporte ao mouse funcionará perfeitamente.

Josh
fonte
0

O MouseTerm parece ser o plug-in SIMBL perfeito para quem deseja suporte decente ao mouse em seus terminais Mac OS X. Desde maio de 2013, a versão mais recente (1.0b1 lançada em julho de 2011) indica que adiciona os seguintes recursos ao aplicativo Terminal padrão do OS X:

  • Relatórios do botão do mouse.
  • Relatórios da roda de rolagem do mouse.
  • Rolagem simulada da roda do mouse para programas como menos (ou seja, qualquer programa em tela cheia que use o modo de tecla de cursor do aplicativo).
  • Integração de perfil de terminal (com diálogo de preferências).

Estou usando o tmux e o vim com ele, e ele permite não apenas clicar (sem a tecla de opção!), Mas também rolar e arrastar dentro deles com pouca configuração: por exemplo, :set mouse=apara o vim e tmux set-window-option mode-mouse on. É fácil alternar os relatórios do mouse (com uma única combinação de teclas ⇧⌘Mou no menu Shell); portanto, não há nada a perder para instalá-lo.

(Advertência: clicar / arrastar no modo de cópia tmux não está funcionando como eu esperava.)

netj
fonte
Outra ressalva - notei que, após iniciar o Terminal pela primeira vez após o login, o suporte ao mouse não funciona até que eu saia do Terminal e o inicie novamente.
Michael
@ Michael : Seu sintoma parece familiar à antiga edição 13 do SIMBL . A atualização do SIMBL provavelmente resolveria isso. (0.9.9 ou 0.9.9b)
netj
tentei 0.9.9, não funcionou. tentei o AppleScript no comentário # 23, obtive "Fim de linha esperado, mas encontrei identificador" (alterado "Snow Leopard" para "Lion", mas estou executando o Lion ...) #
Michael Michael
também tentou o 0.9.9b (Patched for Lion), e isso também não o corrige. ainda é necessário reiniciar o Terminal antes de aceitar os eventos do mouse.
Michael
0

Você pode configurar a emulação xterm em preferências avançadas, pelo menos no Terminal 2.4 (OS X 10.9.3). Isso ativou o suporte adequado ao mouse para mim.

Tom S
fonte
Não funciona (por favor, certifique-se de testar com vim e tmux).
Avetis.kazarian