选项+单击iTerm


16

在终端中,使用Option +单击可将光标放置在当前行上的任意点上-非常适合编辑很长的命令。

如何在iTerm2中做到这一点?

更新:根据此页面,此功能自0.7.0(2003)起已存在。我还注意到,如果按住Command + Option,光标会变成熟悉的十字形,就像在Terminal ...中一样,但是单击仍然不会重新定位光标。


我看了一下源代码,是的,该功能出现在iTerm(不是iTerm2)的0.7.0中。但是在主干中(可能在更早的版本中)被注释掉了(在文件PTYSession.m中)。而且它iTerm2函数仍然存在,但是为空,因此不执行任何操作。
–bortom

Answers:


6

我想知道“实施它到底有多难”,今天就付诸实践。

Terminal.app似乎模拟“将光标移动到左/右” ESC序列。如果您尝试将光标放置在shell提示中,则会听到著名的“哔”声。您会听到无效动作的次数。

iTerm2中的解决方案通过调用适当的ESC序列来实现相同的工作。尽管如果尝试将光标放在无效区域中,它只会发出一次哔声;)

Terminal.app似乎无法处理多行提示,只能在最后一行移动。此实现中的多行提示应正确处理。

结果可以在github上找到。这是原始文件的分支,带有未决的提取请求。我工作的分支名为“ option-click-hardcoded”。

当然,它还未经测试。这意味着只能由我在运行Mac OS X 10.7.3的2007年末MacBook Pro上进行测试。

如果您想通过自己编译进行尝试,或者下载i386 / x86_64 / ppc的预编译二进制文件iTerm_v1.0.0.git-085ec22c.zip)。


哇,好东西!到目前为止,预编译的二进制文件在我看来还可以正常工作,但是会继续关注它。太感谢了!
杰夫

找不到404 ...
aeroxy

1
嘿@aeroxy,这个更改很早以前就合并到了上游iTerm(github.com/gnachman/iTerm2/pull/77)中。前一段时间,我卸下了叉子,因为那是唯一的叉子。
北极

@boretom,那么看来我的iterm2 3.1.5.beta.1仍然有类似的问题。似乎当我执行Options-Click时,它只转到最后一个命令(向上箭头)。apple.stackexchange.com/questions/305554/…–
aeroxy

@aeroxy,如果与我的macOS 10.12.6上的3.1.5.beta2配合使用时效果很好,并且在“首选项”>“指针”中选中了“选择单击移动光标”。全部与将光标定位在当前行上有关。那是您想要实现的目标吗?
botom

2

iTerm 2并不是iTerm的新版本-尽管基于相同的源代码,但实际需要进行一些重大更改。光标定位是被删除或破坏(很难说出开发者意图)的一件事。

您不是唯一注意到此遗漏的人;自2011年4月以来,它已被记录为错误,并继续引起关注。获得此功能的最佳选择(除了在GitHub上分叉或切换到其他应用程序)是在上面的Google Code网站上提交评论。希望有足够的兴趣,此功能可以使其重新用于产品中。





1

我的答案已在2019年使用iTerm2进行了测试。

转到“设置”>“配置文件”,选择所需的配置文件(可以是默认配置文件,您必须为每个配置文件重复此操作),选择“键”标签,然后更改“左”和“右”选项(alt)键的行为转到Esc +

在此处输入图片说明

这实际上是在他们的常见问题解答中:

问:如何使选项/ alt键像Meta一样起作用或发送转义码?答:转到“首选项”>“配置文件”选项卡。在左侧选择您的个人资料,然后打开“键盘”选项卡。底部是一组按钮,可让您选择Option键的行为。对于大多数用户而言,Esc +将是最佳选择。

奖金

如果您询问选项(Alt)+单击,我想您也希望选项(Alt)+退格键可以正常工作。

在同一UI(“键”面板)中,单击“加载预设”按钮,然后选择“自然文本编辑”。对您的每个预设重复该操作。

现在,您将同时使用Option +单击和Option +退格键。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.