Opção + clique no iTerm

16

No Terminal, Option + clique permite que eu posicione meu cursor em qualquer ponto da linha atual - ótimo para editar comandos muito longos.

Como posso fazer isso no iTerm2?

Atualização: de acordo com esta página , o recurso existe desde 0.7.0 (2003). Também notei que, se eu segurar Command + Option, o cursor muda para a cruz familiar, como no Terminal ... mas clicar ainda não reposiciona o cursor.

Jeff
fonte
Eu dei uma olhada no código fonte e sim, o recurso estava presente na versão 0.7.0 do iTerm (não no iTerm2). Mas está comentado (no arquivo PTYSession.m) no porta-malas (e provavelmente nas versões anteriores também). E, no iTerm2, a função ainda está lá, mas vazia e, portanto, não faz nada.
boretom

Respostas:

6

Fiquei me perguntando "quão difícil pode ser (c)" para implementá-lo e deu uma chance hoje.

O Terminal.app parece emular 'mover o cursor para esquerda / direita' seqüências ESC. Você ouvirá o famoso "bipe" se tentar colocar o cursor no prompt do shell. E você ouvirá quantas vezes houver movimentos inválidos.

A solução no iTerm2 funciona da mesma forma invocando as seqüências ESC apropriadas. Embora apite apenas uma vez se você tentar colocar o cursor em uma área inválida;)

O Terminal.app parece não ser capaz de lidar com prompts de várias linhas, apenas mover a última linha parece funcionar. Solicitações de várias linhas nesta implementação devem ser tratadas corretamente.

Os resultados podem ser encontrados no github . É uma bifurcação do original com uma solicitação de recebimento pendente. O ramo em que trabalho é denominado 'option-click-hardcoded'.

E, claro, é altamente não testado. Isso significa testado apenas por mim no meu MacBook Pro de final de 2007 executando o Mac OS X 10.7.3.

Se você quiser experimentá-lo compilando você mesmo ou baixe o binário pré-compilado para i386 / x86_64 / ppc iTerm_v1.0.0.git-085ec22c.zip ).

boretom
fonte
uau, ótimas coisas! O binário pré-compilado parece funcionar bem do meu lado até agora, mas vai ficar de olho nele. obrigado um milhão!
11118 Jeff
404 não encontrado ...
aeroxy 13/11
1
Hey @aeroxy, essa mudança foi mesclada há muito tempo no iTerm upstream ( github.com/gnachman/iTerm2/pull/77 ). Há algum tempo, retirei meu garfo, pois era o único que existia.
boretom
@boretom parece que o meu iterm2 3.1.5.beta.1 ainda tem um problema semelhante. Parece que quando eu clico em Opções, ele apenas vai para o último comando (seta para cima). apple.stackexchange.com/questions/305554/...
aeroxy
@aeroxy, se funcionar excelente com 3.1.5.beta2 no meu macOS 10.12.6 com "Opt-Click move o cursor" marcado em Preferências> Ponteiro. É tudo sobre o posicionamento do cursor na linha atual. É isso que você tenta alcançar?
boretom
2

O iTerm 2 não é uma nova versão do iTerm - embora com base no mesmo código fonte, há grandes mudanças ocultas. Uma das coisas que foram removidas ou quebradas (difícil de falar com a intenção do desenvolvedor) foi o posicionamento do cursor.

Você não é o único que percebeu essa omissão; está arquivado como um bug desde abril de 2011 e continua a atrair atenção. Sua melhor opção para obter esse recurso (além de bifurcá-lo no GitHub ou mudar para outro aplicativo) é enviar um comentário no site do Google Code acima. Felizmente, com interesse suficiente, esse recurso retornará ao produto.

David
fonte
2

As versões mais recentes agora incluem esse recurso a partir de 15 de março de 2012.

Site oficial de download: http://code.google.com/p/iterm2/downloads/list

A versão mais recente (atualmente em 26 de março de 2012) inclui esse recurso.

Andrew Lowe
fonte
1

A versão mais recente do iterm2 (estou usando o Build 2.9.20150812-nightly) possui esse recurso, mas para que ele funcione com várias linhas, é necessário ativar a integração do shell, conforme descrito em https://gitlab.com/gnachman/ iterm2 / Issues / 3638 .

Para instalar o iTerm mais recente, uso o brew e execute o seguinte:

brew tap caskroom/versions && brew cask install iterm2-nightly

Ben Creasy
fonte
1

Minha resposta foi testada em 2019 com o iTerm2.

Vá para Configurações> Perfis, selecione o perfil desejado (pode ser o padrão, você precisará repetir isso para cada um), selecione a guia "Teclas" e altere o comportamento das teclas ESQUERDA e DIREITA (alt) para Esc +

insira a descrição da imagem aqui

Este é realmente o seu FAQ:

P: Como faço para que a tecla Option / Alt atue como Meta ou envie códigos de escape? R: Vá para a guia Preferências> Perfis. Selecione seu perfil à esquerda e abra a guia Teclado. Na parte inferior, há um conjunto de botões que permite selecionar o comportamento da tecla Opção. Para a maioria dos usuários, o Esc + será a melhor escolha.

BÔNUS

Se você está perguntando sobre Option (Alt) + clique, presumo que você também queira que sua Option (Alt) + Backspace funcione.

Na mesma interface do usuário (painel Teclas), clique no botão "Carregar predefinição" e escolha "Edição de texto natural". Repita isso para cada uma de suas predefinições.

Agora você terá as opções Option + click e Option + backspace funcionando.

sandre89
fonte