Como pular para um local usando o mouse no iTerm / terminal?


43

Eu trabalho em um terminal na maioria das vezes.

Existe um aplicativo / plugin no iTerm ou em qualquer outro terminal como o aplicativo que eu possa controlar a localização do cursor do meu terminal usando um mouse?


O que você quer fazer no cursor?
user151019

1
Eu gostaria de pular para o cursor. Sendo o caso de uso, se eu tiver uma linha longa delimitada pelo espaço, gostaria de pular para um local específico. o uso do teclado exige muitas teclas.
Sairam 23/02

Se você já está usando o Terminal, provavelmente aprecia o teclado. Aprenda os atalhos do teclado para pular para frente / trás da linha e navegar por palavra, e você economizará muitas teclas pressionadas e provavelmente será mais rápido que o mouse.

1
Veja também apple.stackexchange.com/a/217167/24565 para obter informações sobre opções de mouse para tmux
Michael Durrant

Respostas:


52

Pelo menos em Terminal.app você pode manter pressionada optionenquanto clica para saltar dentro de sua linha atual (que na verdade significa apenas a linha, por isso, se o seu actual alerta é tão longo que passará para uma segunda linha de entrada que você vai ter que option-clique até o início da "segunda" linha e, em seguida, pule com as setas do teclado para a "primeira" linha, onde você pode optionclicar novamente.)


1
Clique na opção, interessante. Nunca soube disso antes. Certifique-se de clicar na linha, caramba. Eu nem entendo o que está acontecendo quando clico acima / abaixo da linha atual. Suponho que esteja pressionando várias vezes, mas tenho certeza de que o histórico de comandos não está exatamente correspondendo.
Jason Salaz 23/02

Bem, é apenas a leitura do número de colunas onde você clica e pula para essa posição na linha atual (!); portanto, se você estiver no final de um prompt agrupado (digamos linha 2: coluna 45) e clicar em algo na primeira linha (digamos linha 1: coluna 4), você terminará na coluna 4 (ótimo), mas fique na linha 2 (errado!).
Asmus

2
A maneira como o Option-Click funciona é emitir o equivalente a entradas de teclas de seta. Isso funciona bem em editores como o emacs, mas se você estiver no prompt de comando do bash, ele interpreta up / down como "comando anterior / próximo no histórico". Portanto, se você clicar com a tecla Option pressionada em qualquer lugar, exceto na mesma linha que contém o prompt, o bash passará pelo seu histórico de comandos em vez de mover o cursor.
31511 Chris Página 2

Funciona em iTerm2.
Ahmet Alp Balkan

9

Já faz um tempo que essa pergunta surgiu e eu já mencionei o abaixo nesta plataforma em Option-click no iTerm e no rastreador de problemas do iTerm2, mas talvez seja de ajuda para um ou outro:

Olá, só queria que você soubesse que eu implementei esse recurso no iTerm2. Ainda não está no repo oficial do iTerm2, mas se você quiser experimentar, pode encontrá-lo no github .

Uma vez que foi testado apenas por mim, considero não estável. Eu testei com bash, vi e emacs e fiz o meu melhor para lembrar o comportamento do Terminal.app.

Também existe um binário pré-compilado no github iTerm_v1.0.0.20120312.git-b919985b.zip (para i386 / x86_64 / ppc).

Claro que qualquer feedback é bem-vindo.


Os relatórios do mouse foram interrompidos na última versão? Já não funciona para mim, não vejo o cursor "o" e não consigo descobrir como recuperá-lo.
Michael

Retiro o que eu disse. Os relatórios do mouse não funcionam apenas em alguns casos - por exemplo, se você ssh em outra máquina, conecte-se a uma sessão tmux já executando o emacs. Isso costumava funcionar. Agora, às vezes, você precisa sair do emacs e reiniciá-lo antes que o relatório do mouse funcione ... #
Michael Michael

Parece apenas ir para uma posição em qualquer lugar da linha atual. É possível clicar em qualquer lugar da opção no comando ativo?
Skeleton Bow

6

O teclado geralmente é seu melhor amigo. Em uma configuração padrão, seu shell controla muito de como você navega pelo prompt de comando.

Option+ bretorna uma palavra (o cursor terminará na primeira letra da palavra anterior).

Option+ favança uma palavra (o cursor estará no caractere não-letra APÓS a próxima palavra).

Shift+ Fn+ Left Arrow (←)colocará o cursor no início da linha. ( Ctrl+ atambém fará isso.)

Shift+ Fn+ Right Arrow (→)colocará o cursor no final da linha. ( Ctrl+ etambém fará isso.)

Então, se eu tiver um comando longo, por exemplo:

$ rsync -avz --progress ~/Sites/Development/My/Project web@server:/deployment/output/area

E eu começar a bater Option+ b, o cursor vai parar no um na área, o o na saída, o d em implantação, etc.

Se eu for para o início da linha e começar a pressionar Option+ f, o cursor irá parar no espaço após o rsync, no espaço após avz, no espaço após o progresso, no / após Sites, etc.


Gosto da solução consciente do seu "problema XY". Embora não responda à pergunta original, é uma alternativa muito digna. É de propósito, porém, que você às vezes diz CMD + be opção + b?
Cornelius Roemer

1
Não, isso foi um erro da minha parte. O comando nunca deveria ter sido usado aqui, porque controla os comportamentos da janela do Terminal, não os comportamentos de shell / movimento.
Jason Salaz 18/10

5

No iTerm2, mantenha pressionada a tecla alt (esquerda ou direita) e clique para mover o cursor para qualquer posição em qualquer linha.


3

Se você estiver interessado especificamente em movimento no Vim, poderá adicioná-lo set mouse=aao seu ~/.vimrcarquivo.

Ele funciona no iTerm para movimento. Também permite marcar seções como se você tivesse entrado no modo visual, para que você possa puxá-lo ou excluí-lo ou comentar o código, dependendo dos seus plug-ins.

Muito convenientemente, também permite rolar rapidamente um documento grande usando um slide de dois dedos ou uma roda do mouse.

A única desvantagem é que dificulta a seleção do texto que você deseja copiar para uso em outros aplicativos - embora tudo o que você precise fazer seja pressionar optionenquanto você seleciona.

Além disso: observe que, se você adicionar algo como vimpager (também no macports), também poderá rolar pelas páginas do manual depois de adicionar:

export PAGER=/opt/local/bin/vimpager #or wherever vimpager is installed
alias less=$PAGER

para o seu .profileou .bashrc.

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.