在 Ubuntu 终端中,我可以看到通过 Option+单击将光标放在终端上的鼠标位置即可。
在 Mac 上的其他 Linux 终端上也同样有效。例如参考:https://www.bollyinside.com/articles/place-cursor-at-mouse-position-on-terminal-with-an-optionclick/
有没有办法在 Ubuntu 中实现这一点?
答案1
根据终端工作方式的本质,光标是“拥有”的,由内部运行的应用程序控制。光标表示应用程序输出的下一个打印位置。
如果您以某种方式强行修改终端中的这个位置,而应用程序却不知情,那么应用程序随后打印的输出很可能会严重损坏屏幕。
一些终端仿真器所做的是,它们试图猜测要向应用程序合成哪些按键,以便应用程序最终将光标移动到您希望的位置。
任何此类启发式方法的用途显然都非常有限,并且很可能经常中断。终端如何知道哪个应用程序正在运行?使用像深入研究/proc
或等效的黑客手段,会停止跨 或其他类似层的工作ssh
?tmux
如果它知道正在运行哪个应用程序(例如 shell 或文本编辑器),它如何知道该应用程序处于什么状态(例如 shell 是在运行命令还是在等待您输入命令?如果是后者,它可能处于 readline 的某种特殊模式?如果它是一个文本编辑器,您正在编辑文件还是处于其他模式(例如命令行、对话框等)?它是否有分屏,您是否需要跳转到不同的面板?)我们要开始向终端传授一些知名应用程序的行为吗?没希望了。
难怪只有极少数终端仿真器尝试为您提供此便利功能。我还没有在其中任何一个终端仿真器中尝试过此功能,但我敢肯定,我会在短短几分钟内发现大量错误。不可能可靠地知道需要发出哪些按键,以便应用程序的响应是将光标移动到您请求的位置。任何终端为您提供的任何工作都必然是一种脆弱的猜测。
我不确定你说的“Ubuntu 终端”是什么意思,但根据问题的标签,你可能指的是 GNOME 终端。与大多数终端一样,GNOME 终端不会尝试解决不可能的问题。
您应该熟悉所用应用程序的强大功能。该应用程序是否支持鼠标?也许您需要启用它,然后应用程序会接收鼠标点击并很可能将光标移动到那里。如果没有,是否有任何键盘快捷键可以更大步长地移动光标?例如Ctrl+ Left、Ctrl+Right可以按单词跳转?较新版本的bash
和readline
可以上下跳转到下一个可视行,我个人将其连接到Ctrl+ Up、Ctrl+ Down。等等。没有“一刀切”的解决方案来重新定位光标。
答案2
终点站rxvt-unicode按住 Shift 键并单击可将光标移动到鼠标位置。
其行为与 Mac 终端中的 Option-Click 完全相同。