如何在iTerm /终端上使用鼠标跳到某个位置?


43

我大部分时间都在终端上工作。

是否在iTerm或任何其他终端(如应用程序)上有应用程序/插件,可以使用鼠标使用该应用程序/插件来控制终端的光标位置?


您想在光标处做什么?
2011年

1
我想跳到光标。用例是,如果我有一条由空格分隔的长线,我想跳到特定位置。使用键盘需要很多击键。
Sairam

如果您已经在使用Terminal,则可能会喜欢键盘。了解键盘快捷键以跳转到行的前/后,并按单词进行导航,它将为您节省许多击键次数,并且可能比鼠标快。

1
有关tmux鼠标选项的信息,另请参阅apple.stackexchange.com/a/217167/24565
Michael Durrant

Answers:


52

至少在Terminal.app中,您可以option在单击时按住以跳到当前行内(这实际上意味着该行,因此,如果您当前的提示很长,以至于它会换行到第二行输入,则必须option-click到“第二”行的开头,然后用箭头键跳到“第一”行,您可以在其中 option再次单击。)


1
选项单击,很有意思。以前从来都不知道。不过请务必单击该行,废话。当我单击当前行上方/下方时,我什至不了解发生了什么。我以为它按了很多次,但是我很确定命令历史记录不完全匹配。
詹森·萨拉兹

好吧,它只读取您单击并跳至当前(!)行中该位置的列数;因此,如果您位于换行提示的末尾(例如第2行:第45列),并且在第一行中选择单击某些内容(例如第1行:第4列),则最终会出现在第4列(出色)中,但是保持在第2行(错!)。
阿斯姆斯

2
Option-Click的工作方式是发出等效的箭头键输入。这在emacs之类的编辑器中效果很好,但是如果您在bash命令提示符下,它将向上/向下解释为“历史记录中的上一个/下一个命令”。因此,如果按住Option键单击除包含提示的同一行以外的任何位置,bash都会遍历命令历史记录,而不是移动光标。
克里斯·佩奇

在iTerm2中可用。
艾哈迈德·巴尔干

9

自问这个问题以来已经有一段时间了,我已经在iTerm上的Option-click和iTerm2的问题跟踪器中提到了此平台上的以下内容,但这可能对一个或另一个有所帮助:

嗨,只是想让您知道我在iTerm2中实现了该功能。它尚未在iTerm2官方仓库中发布,但如果您想尝试一下,可以在github上找到。

由于仅由我测试过,因此认为它不稳定。我确实使用bash,vi和emacs对其进行了测试,并尽力模仿Terminal.app的行为。

github上也有一个预编译的二进制文件iTerm_v1.0.0.20120312.git-b919985b.zip(用于i386 / x86_64 / ppc)。

当然,欢迎任何反馈。


鼠标报告在最新版本中是否中断?它不再对我有用,我看不到光标“ o”,也无法弄清楚如何找回它。
2014年

我收回之前说过的话。鼠标报告仅在某些情况下不起作用-例如,如果您SSH到另一台计算机,然后连接到已经在运行emacs的tmux会话。这曾经工作。现在您有时必须退出emacs并重新启动它,然后才能进行鼠标报告……
Michael

它似乎只能移至当前行上的任何位置。是否可以在活动命令的任意位置单击选项?
Skeleton Bow

6

键盘通常是您最好的朋友。在默认配置中,您的外壳程序控制着您在命令提示符下的导航方式。

Option+ b返回一个单词(光标将停在前一个单词的第一个字母处)。

Option+ f向前移动一个单词(光标将在下一个单词之后的非字母字符处)。

Shift+ Fn+ Left Arrow (←)将光标置于行的最开始。(Ctrl+ a也会这样做。)

Shift+ Fn+ Right Arrow (→)将光标置于行的最末端。(Ctrl+ e也会这样做。)

因此,如果我有一个长命令,例如:

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

我开始点击Option+ b,光标将停在a in区域,o in输出,部署d等上。

如果我去了线的起点,并开始打Option+ f,光标会停留在空间的rsync之后,空间 AVZ后,在空间的进步之后,/网站后,等


我喜欢您的“ XY问题”正念解决方案。在不回答原始问题的同时,这是一个非常值得的选择。尽管有时您会说CMD + b和option + b是故意的吗?
Cornelius Roemer

1
不,那是我的错误。在此永远不应该使用命令,因为它控制终端窗口的行为,而不是外壳/移动行为。
杰森·萨拉兹


3

如果您对Vim中的移动特别感兴趣,则可以将其添加set mouse=a~/.vimrc文件中。

它确实可以在iTerm中移动。它还使您可以将部分标记为好像已进入可视模式,以便可以根据自己的插件来拖动,删除或注释掉代码。

非常方便的是,它还使您可以使用两指幻灯片或鼠标滚轮快速滚动查看大文档。

唯一的缺点是,这使得很难选择要复制的文本以用于其他应用程序,尽管您要做的只是option在选择时按一下。

另外:请注意,如果添加了vimpager之类的内容(也在macports上),则添加后也可以滚动浏览手册页:

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

给您.profile.bashrc

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.