Vim e mouse com ssh do Mac para o Linux


9

Eu certamente sei que é possível fazer o mouse funcionar no Vim em uma sessão remota em uma máquina Linux do meu Mac, mas ainda não descobri como.

O vim diário dá uma dica sobre como fazê-lo funcionar, mas se eu tentar definir 'mac-ansi', por exemplo, recebo um erro dizendo que só posso especificar valores começando com builtin_ (riscos, beos-ansi, etc). Eu tentei usar ssh -X, combinado com set mouse=ae set term=builtin_ansopor exemplo, mas sem sucesso, com ou sem combiná-los.

Estou usando o Snow Leopard e tentando usar o mouse em uma máquina Debian com o vim 7.1.314. Eu dei uma olhada na documentação, mas não consigo fazê-la funcionar. Alguma dica?


Os conselhos dessa publicação diária do vim são totalmente errados quando se trata da 'term'opção. Existem muito poucas circunstâncias em que alguém deve mudar essa opção no Vim em vez de fazer com que o terminal defina o valor correto para $ TERM. O comentário de Spectral está certo.
31710 jamessan

Respostas:


15

Eu não acho que o Terminal.app suporte relatórios de mouse xterm, necessários para fazer o mouse funcionar. Existem algumas opções para obter um terminal com a funcionalidade de relatório do mouse.

  • O iTerm é um programa de terminal alternativo que suporta relatórios de mouse
  • O MouseTerm é um truque para adicionar relatórios de mouse ao Terminal.app, mas eu não tentei e não sei como funciona
  • Você também pode instalar o X11 e usar um xterm real

Depois de ter um desses, :set mouse=a(você também pode precisar :set term=xterm) e deve estar no negócio.


1
O MouseTerm resolveu o problema. Atualmente, eles oferecem suporte a cliques do mouse e eventos de rolagem. Acabei de instalar o SIMBL + MouseTerm e executei set mouse = a no Vim na minha máquina remota, e funcionou.
Jonatan Littke

1
+1 para: definir mouse = a no vim. Com o Putty em execução no Windows, nenhuma outra configuração é necessária. Não acredito que uso o teclado apenas há tanto tempo.
Cheesington

6

Para usar o Terminal.app com o mouse, você deve usar a tecla Alt pressionada em vez de clicar.
Por exemplo, no vim, defina mouse = a e clique com a tecla Alt pressionada para posicionar o cursor.

Isso funciona através do ssh, embora não permita redimensionar janelas (vim). Você também perde a capacidade de recortar de outras janelas e colar na janela do terminal.


1

Não tenho a resposta, mas posso compartilhar o que aprendi em meus longos meses de busca pela resposta. Eu sou um usuário pesado de vim e GNU screen over ssh. Ironicamente, juro por esses programas porque posso usá-los remotamente sem um mouse, mas quase abandonei o OS X porque ele não fornece uma maneira fácil de usá-los remotamente com um mouse.

De qualquer forma, aqui está o que eu descobri:

  • O xterm em execução no X11.app pode ser criado para relatar eventos do mouse e funcionar como desejado. Infelizmente, o xterm não possui muitos recursos do iTerm e do Terminal.app. Fazer algo tão simples quanto mudar a fonte no xterm requer um pouco de magia negra.
  • O iTerm pode supostamente acomodar a funcionalidade desejada, mas nunca consegui fazê-lo funcionar. O iTerm também sofreu com grandes problemas de desempenho quando fui para o Terminal.app alguns meses atrás. As atualizações de tela aconteciam lentamente, e seriam necessários 25% da CPU para ficar lá sem fazer nada.
  • Na verdade, tentei usar uma VM do Ubuntu descompactada em execução no VMWare como meu aplicativo de terminal. Eu o configurei para inicializar em um terminal Gnome em tela cheia com o fluxbox como gerenciador de janelas. Desisti dessa solução porque ela não funcionava bem com o Spaces e a sobrecarga de execução do VMWare.

Agora, apenas nunca me afasto de uma caixa real do Linux, ocasionalmente, uso o vim através do Terminal.app para me manter honesto - se não consigo me lembrar das teclas de navegação, talvez esteja usando o Visual Studio.


0

Além da resposta de Geoff, aqui está outra solução possível:

MacVim + NetRW para vim .

O MacVim incorporou suporte a mouse e o NetRW é um módulo vim que permite a edição remota usando vim scp://host/path/to/file. Então, basta iniciar o MacVim e conectar-se ao arquivo, editá-lo e salvá-lo remotamente.

Você também pode estar interessado em ajustar um pouco a GUI. Consulte minha pergunta relacionada no SO.

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.